diff options
author | Suprabh Shukla <suprabh@google.com> | 2017-09-20 14:50:25 -0700 |
---|---|---|
committer | Suprabh Shukla <suprabh@google.com> | 2017-09-27 16:51:34 -0700 |
commit | ab4e5284fbe1935947728425588530849ed6b576 (patch) | |
tree | 484ef755ef56707b92e40b1083a5c3ff551d30b2 | |
parent | bb22b35ad6cdacd35b08afe838327d768a9422cd (diff) | |
download | android_packages_apps_PackageInstaller-ab4e5284fbe1935947728425588530849ed6b576.tar.gz android_packages_apps_PackageInstaller-ab4e5284fbe1935947728425588530849ed6b576.tar.bz2 android_packages_apps_PackageInstaller-ab4e5284fbe1935947728425588530849ed6b576.zip |
DO NOT MERGE Fixing Install button not enabled on resume
In cases where an app had a long list of permissions the Install button
was not being enabled.
Test: Manually clicked on an apk that required a long list of
permissions. Checked that the install button is enabled. Switch out and
back to the activity to force a pause/resume. The button gets disabled
and enabled as expected. Also the existing test passes as before:
gts-tradefed run gts-dev -m PackageInstallerTapjacking
Bug: 35056974
Change-Id: I2ef7d5ce4e137969c70d2929271620c2bcb723f2
-rw-r--r-- | src/com/android/packageinstaller/PackageInstallerActivity.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java index de685825..d29059cf 100644 --- a/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -51,6 +51,7 @@ import android.widget.Button; import android.widget.ImageView; import android.widget.TabHost; import android.widget.TextView; +import com.android.packageinstaller.permission.ui.OverlayTouchActivity; import com.android.packageinstaller.permission.utils.Utils; import java.io.File; @@ -69,7 +70,8 @@ import java.io.OutputStream; * Based on the user response the package is then installed by launching InstallAppConfirm * sub activity. All state transitions are handled in this activity */ -public class PackageInstallerActivity extends Activity implements OnCancelListener, OnClickListener { +public class PackageInstallerActivity extends OverlayTouchActivity implements OnCancelListener, + OnClickListener { private static final String TAG = "PackageInstaller"; private static final int REQUEST_ENABLE_UNKNOWN_SOURCES = 1; @@ -218,6 +220,25 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen } } + @Override + protected void onResume() { + super.onResume(); + + if (mOk != null) { + mOk.setEnabled(true); + } + } + + @Override + protected void onPause() { + super.onPause(); + + if (mOk != null) { + // Don't allow the install button to be clicked as there might be overlays + mOk.setEnabled(false); + } + } + private void showDialogInner(int id) { // TODO better fix for this? Remove dialog so that it gets created again removeDialog(id); |