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:
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user