PackageInstaller: Initial focus in non-touch mode on Cancel

The initial focus for AlertDialogs in non-touch mode is the positive
button. However, in the PackageInstaller confirmation dialog, the
positive button is initially disabled to prevent tap jacking.
To provide users in non-touch mode with a sensible default focus, put
initial focus in non-touch mode on the cancel button.

Bug: 152026824
Test: On Android TV, with a remote:
      1. Install file explorer app
      2. Push another apk to device
      3. Use file explorer to start apk installation
      4. Verify "Cancel" button is focused
Test: Doing the above with touch does not lead to any visible focus
Change-Id: Iafec25df23c45171c450f5f42cc5da9bf0087ae4
This commit is contained in:
Robert Horvath
2020-03-20 17:19:06 +01:00
parent 711ba26816
commit a4b5e96886

View File

@@ -406,6 +406,10 @@ public class PackageInstallerActivity extends AlertActivity {
mOk = mAlert.getButton(DialogInterface.BUTTON_POSITIVE);
mOk.setEnabled(false);
if (!mOk.isInTouchMode()) {
mAlert.getButton(DialogInterface.BUTTON_NEGATIVE).requestFocus();
}
}
/**