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; } }