diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index bbcf844f..12de1a5b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -44,6 +44,7 @@
+
diff --git a/GmsApi b/GmsApi
index c29a2cbc..adb160c2 160000
--- a/GmsApi
+++ b/GmsApi
@@ -1 +1 @@
-Subproject commit c29a2cbc8937b6e41d125aab34328c988d99e345
+Subproject commit adb160c25bf23be73738a732c94b903db41a338d
diff --git a/src/org/microg/gms/icing/LightweightAppDataSearchImpl.java b/src/org/microg/gms/icing/LightweightAppDataSearchImpl.java
index e4cd8637..84aa5f18 100644
--- a/src/org/microg/gms/icing/LightweightAppDataSearchImpl.java
+++ b/src/org/microg/gms/icing/LightweightAppDataSearchImpl.java
@@ -16,6 +16,8 @@
package org.microg.gms.icing;
+import android.os.Parcel;
+import android.os.RemoteException;
import android.util.Log;
import com.google.android.gms.appdatasearch.UsageInfo;
@@ -30,4 +32,11 @@ public class LightweightAppDataSearchImpl extends ILightweightAppDataSearch.Stub
public void view(ILightweightAppDataSearchCallbacks callbacks, String packageName, UsageInfo[] usageInfos) {
Log.d(TAG, "view: " + Arrays.toString(usageInfos));
}
+
+ @Override
+ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
+ if (super.onTransact(code, data, reply, flags)) return true;
+ Log.d(TAG, "onTransact [unknown]: " + code + ", " + data + ", " + flags);
+ return false;
+ }
}
diff --git a/src/org/microg/gms/people/PeopleServiceImpl.java b/src/org/microg/gms/people/PeopleServiceImpl.java
index 2d820bd4..94a1bb65 100644
--- a/src/org/microg/gms/people/PeopleServiceImpl.java
+++ b/src/org/microg/gms/people/PeopleServiceImpl.java
@@ -16,12 +16,53 @@
package org.microg.gms.people;
+import android.accounts.Account;
+import android.accounts.AccountManager;
import android.content.Context;
-import android.os.Binder;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.RemoteException;
+import android.util.Log;
+import com.google.android.gms.common.data.DataHolder;
+import com.google.android.gms.people.internal.IPeopleCallbacks;
import com.google.android.gms.people.internal.IPeopleService;
+import com.google.android.gms.people.model.AccountMetadata;
public class PeopleServiceImpl extends IPeopleService.Stub {
+ private static final String TAG = "GmsPeopleSvcImpl";
+ private Context context;
+
public PeopleServiceImpl(Context context) {
+ this.context = context;
+ }
+
+ @Override
+ public void loadOwners(final IPeopleCallbacks callbacks, boolean var2, boolean var3, final String accountName, String var5, int sortOrder) {
+ Log.d(TAG, "loadOwners: " + var2 + ", " + var3 + ", " + accountName + ", " + var5 + ", " + sortOrder);
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ AccountManager accountManager = AccountManager.get(context);
+ Bundle result = new Bundle();
+ for (Account account : accountManager.getAccountsByType("com.google")) {
+ if (accountName == null || account.name.equals(accountName)) {
+ result.putParcelable(account.name, new AccountMetadata());
+ }
+ }
+ try {
+ callbacks.onDataHolders(0, result, new DataHolder[0]);
+ } catch (RemoteException e) {
+ Log.w(TAG, e);
+ }
+ }
+ }).start();
+ }
+
+ @Override
+ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
+ if (super.onTransact(code, data, reply, flags)) return true;
+ Log.d(TAG, "onTransact [unknown]: " + code + ", " + data + ", " + flags);
+ return false;
}
}