summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuprabh Shukla <suprabh@google.com>2017-09-20 14:50:25 -0700
committerSuprabh Shukla <suprabh@google.com>2017-09-27 16:51:34 -0700
commitab4e5284fbe1935947728425588530849ed6b576 (patch)
tree484ef755ef56707b92e40b1083a5c3ff551d30b2
parentbb22b35ad6cdacd35b08afe838327d768a9422cd (diff)
downloadandroid_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.java23
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);