Use a boolean Consumer instead of RoleManagerCallback.

And use RemoteCallback for it under the hood. This removes one AIDL
interface and allows using lambda, while aligning with what
PermissionControllerService does.

Bug: 127691087
Test: manual
Change-Id: I7af28be2df5f84ffcd040a80884efe7c08e2d067
This commit is contained in:
Hai Zhang
2019-03-06 20:39:35 -08:00
parent a51b5f8756
commit 93cfd2e28e
2 changed files with 9 additions and 22 deletions

View File

@@ -17,9 +17,7 @@
package com.android.settings.applications.defaultapps; package com.android.settings.applications.defaultapps;
import android.app.role.RoleManager; import android.app.role.RoleManager;
import android.app.role.RoleManagerCallback;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
@@ -27,7 +25,6 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Process; import android.os.Process;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@@ -100,18 +97,13 @@ public class DefaultEmergencyPicker extends DefaultAppPickerFragment {
final String previousValue = getDefaultKey(); final String previousValue = getDefaultKey();
if (!TextUtils.isEmpty(key) && !TextUtils.equals(key, previousValue)) { if (!TextUtils.isEmpty(key) && !TextUtils.equals(key, previousValue)) {
getContext().getSystemService(RoleManager.class) getContext().getSystemService(RoleManager.class).addRoleHolderAsUser(
.addRoleHolderAsUser( RoleManager.ROLE_EMERGENCY, key, 0, Process.myUserHandle(),
RoleManager.ROLE_EMERGENCY, key, 0, Process.myUserHandle(), AsyncTask.THREAD_POOL_EXECUTOR, successful -> {
AsyncTask.THREAD_POOL_EXECUTOR, new RoleManagerCallback() { if (!successful) {
@Override Log.e(TAG, "Failed to set emergency default app.");
public void onSuccess() {} }
});
@Override
public void onFailure() {
Log.e(TAG, "Failed to set emergency default app.");
}
});
return true; return true;
} }
return false; return false;

View File

@@ -19,7 +19,6 @@ package com.android.settings.applications.defaultapps;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any; import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq; import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -27,15 +26,10 @@ import static org.mockito.Mockito.when;
import android.app.Activity; import android.app.Activity;
import android.app.role.RoleManager; import android.app.role.RoleManager;
import android.app.role.RoleManagerCallback;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Process;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.provider.Settings;
import android.util.Log;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -50,6 +44,7 @@ import org.robolectric.util.ReflectionHelpers;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.function.Consumer;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class DefaultEmergencyPickerTest { public class DefaultEmergencyPickerTest {
@@ -90,7 +85,7 @@ public class DefaultEmergencyPickerTest {
eq(0), eq(0),
any(UserHandle.class), any(UserHandle.class),
any(Executor.class), any(Executor.class),
any(RoleManagerCallback.class)); any(Consumer.class));
} }
@Test @Test