Change disable accessibility service dialog layout

Bug: 140307087
Test: Visual
Change-Id: I78d573f121e2f799a8395fcd2d21ee48a5fffb23
This commit is contained in:
Kevin Chang
2019-09-09 16:53:11 +08:00
parent 552e5cef78
commit ee15fa1c2d
3 changed files with 49 additions and 130 deletions

View File

@@ -25,6 +25,7 @@ import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
@@ -49,8 +50,7 @@ import com.android.settingslib.accessibility.AccessibilityUtils;
import java.util.List;
public class ToggleAccessibilityServicePreferenceFragment
extends ToggleFeaturePreferenceFragment implements View.OnClickListener {
public class ToggleAccessibilityServicePreferenceFragment extends ToggleFeaturePreferenceFragment {
private static final int DIALOG_ID_ENABLE_WARNING = 1;
private static final int DIALOG_ID_DISABLE_WARNING = 2;
@@ -72,6 +72,42 @@ public class ToggleAccessibilityServicePreferenceFragment
private Dialog mDialog;
private final View.OnClickListener mViewOnClickListener =
(View view) -> {
if (view.getId() == R.id.permission_enable_allow_button) {
if (isFullDiskEncrypted()) {
String title = createConfirmCredentialReasonMessage();
Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, null);
startActivityForResult(intent,
ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION);
} else {
handleConfirmServiceEnabled(true);
if (isServiceSupportAccessibilityButton()) {
showDialog(DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL);
}
}
} else if (view.getId() == R.id.permission_enable_deny_button) {
handleConfirmServiceEnabled(false);
} else {
throw new IllegalArgumentException();
}
mDialog.dismiss();
};
private final DialogInterface.OnClickListener mDialogInterfaceOnClickListener =
(DialogInterface dialog, int which) -> {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
handleConfirmServiceEnabled(false);
break;
case DialogInterface.BUTTON_NEGATIVE:
handleConfirmServiceEnabled(true);
break;
default:
throw new IllegalArgumentException();
}
};
@Override
public int getMetricsCategory() {
return SettingsEnums.ACCESSIBILITY_SERVICE;
@@ -137,7 +173,7 @@ public class ToggleAccessibilityServicePreferenceFragment
return null;
}
mDialog = AccessibilityServiceWarning
.createCapabilitiesDialog(getActivity(), info, this);
.createCapabilitiesDialog(getActivity(), info, mViewOnClickListener);
break;
}
case DIALOG_ID_DISABLE_WARNING: {
@@ -146,7 +182,7 @@ public class ToggleAccessibilityServicePreferenceFragment
return null;
}
mDialog = AccessibilityServiceWarning
.createDisableDialog(getActivity(), info, this);
.createDisableDialog(getActivity(), info, mDialogInterfaceOnClickListener);
break;
}
case DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL: {
@@ -210,32 +246,6 @@ public class ToggleAccessibilityServicePreferenceFragment
}
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.permission_enable_allow_button) {
if (isFullDiskEncrypted()) {
String title = createConfirmCredentialReasonMessage();
Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, null);
startActivityForResult(intent,
ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION);
} else {
handleConfirmServiceEnabled(true);
if (isServiceSupportAccessibilityButton()) {
showDialog(DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL);
}
}
} else if (view.getId() == R.id.permission_enable_deny_button) {
handleConfirmServiceEnabled(false);
} else if (view.getId() == R.id.permission_disable_stop_button) {
handleConfirmServiceEnabled(false);
} else if (view.getId() == R.id.permission_disable_cancel_button) {
handleConfirmServiceEnabled(true);
} else {
throw new IllegalArgumentException();
}
mDialog.dismiss();
}
private boolean isGestureNavigateEnabled() {
return getContext().getResources().getInteger(
com.android.internal.R.integer.config_navBarInteractionMode)