Merge "Shouldn't turn on other accessibility features in SuW." into rvc-dev am: c9f8b52b26

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11716081

Change-Id: Iff43cb6194874cb2ee333bc460cbc13963ea8a06
This commit is contained in:
PETER LIANG
2020-06-05 12:41:13 +00:00
committed by Automerger Merge Worker
2 changed files with 32 additions and 11 deletions

View File

@@ -23,6 +23,7 @@ import static com.android.internal.accessibility.common.ShortcutConstants.Shortc
import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.createEnableDialogContentView; import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.createEnableDialogContentView;
import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getInstalledTargets; import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getInstalledTargets;
import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getTargets; import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getTargets;
import static com.android.internal.accessibility.util.AccessibilityUtils.isUserSetupCompleted;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.app.Activity; import android.app.Activity;
@@ -61,18 +62,8 @@ public class AccessibilityShortcutChooserActivity extends Activity {
} }
mTargets.addAll(getTargets(this, mShortcutType)); mTargets.addAll(getTargets(this, mShortcutType));
final String selectDialogTitle =
getString(R.string.accessibility_select_shortcut_menu_title);
mTargetAdapter = new ShortcutTargetAdapter(mTargets); mTargetAdapter = new ShortcutTargetAdapter(mTargets);
mMenuDialog = new AlertDialog.Builder(this) mMenuDialog = createMenuDialog();
.setTitle(selectDialogTitle)
.setAdapter(mTargetAdapter, /* listener= */ null)
.setPositiveButton(
getString(R.string.edit_accessibility_shortcut_menu_button),
/* listener= */ null)
.setOnDismissListener(dialog -> finish())
.create();
mMenuDialog.setOnShowListener(dialog -> updateDialogListeners()); mMenuDialog.setOnShowListener(dialog -> updateDialogListeners());
mMenuDialog.show(); mMenuDialog.show();
} }
@@ -154,4 +145,22 @@ public class AccessibilityShortcutChooserActivity extends Activity {
mMenuDialog.getListView().setOnItemClickListener( mMenuDialog.getListView().setOnItemClickListener(
isEditMenuMode ? this::onTargetChecked : this::onTargetSelected); isEditMenuMode ? this::onTargetChecked : this::onTargetSelected);
} }
private AlertDialog createMenuDialog() {
final String dialogTitle =
getString(R.string.accessibility_select_shortcut_menu_title);
final AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle(dialogTitle)
.setAdapter(mTargetAdapter, /* listener= */ null)
.setOnDismissListener(dialog -> finish());
if (isUserSetupCompleted(this)) {
final String positiveButtonText =
getString(R.string.edit_accessibility_shortcut_menu_button);
builder.setPositiveButton(positiveButtonText, /* listener= */ null);
}
return builder.create();
}
} }

View File

@@ -156,4 +156,16 @@ public final class AccessibilityUtils {
return false; return false;
} }
/**
* Indicates whether the current user has completed setup via the setup wizard.
* {@link android.provider.Settings.Secure#USER_SETUP_COMPLETE}
*
* @return {@code true} if the setup is completed.
*/
public static boolean isUserSetupCompleted(Context context) {
return Settings.Secure.getIntForUser(context.getContentResolver(),
Settings.Secure.USER_SETUP_COMPLETE, /* def= */ 0, UserHandle.USER_CURRENT)
!= /* false */ 0;
}
} }