summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/packageinstaller/PackageInstallerActivity.java93
-rw-r--r--src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java7
-rw-r--r--src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java16
-rw-r--r--src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java9
6 files changed, 71 insertions, 62 deletions
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java
index 9153d71a..e9b50315 100644
--- a/src/com/android/packageinstaller/PackageInstallerActivity.java
+++ b/src/com/android/packageinstaller/PackageInstallerActivity.java
@@ -36,6 +36,7 @@ import android.content.pm.PackageUserState;
import android.content.pm.ResolveInfo;
import android.content.pm.VerificationParams;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.SystemClock;
import android.os.UserManager;
@@ -132,8 +133,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
int msg = 0;
if (mPkgInfo != null) {
AppSecurityPermissions perms = new AppSecurityPermissions(this, mPkgInfo);
- final int NP = perms.getPermissionCount(AppSecurityPermissions.WHICH_PERSONAL);
- final int ND = perms.getPermissionCount(AppSecurityPermissions.WHICH_DEVICE);
+ final int N = perms.getPermissionCount(AppSecurityPermissions.WHICH_ALL);
if (mAppInfo != null) {
msg = (mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0
? R.string.install_confirm_question_update_system
@@ -160,7 +160,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
findViewById(R.id.tabscontainer).setVisibility(View.GONE);
findViewById(R.id.divider).setVisibility(View.VISIBLE);
}
- if (NP > 0 || ND > 0) {
+ if (N > 0) {
permVisible = true;
LayoutInflater inflater = (LayoutInflater)getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
@@ -168,18 +168,8 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
if (mScrollView == null) {
mScrollView = (CaffeinatedScrollView)root.findViewById(R.id.scrollview);
}
- if (NP > 0) {
- ((ViewGroup)root.findViewById(R.id.privacylist)).addView(
- perms.getPermissionsView(AppSecurityPermissions.WHICH_PERSONAL));
- } else {
- root.findViewById(R.id.privacylist).setVisibility(View.GONE);
- }
- if (ND > 0) {
- ((ViewGroup)root.findViewById(R.id.devicelist)).addView(
- perms.getPermissionsView(AppSecurityPermissions.WHICH_DEVICE));
- } else {
- root.findViewById(R.id.devicelist).setVisibility(View.GONE);
- }
+ ((ViewGroup)root.findViewById(R.id.permission_list)).addView(
+ perms.getPermissionsView(AppSecurityPermissions.WHICH_ALL));
adapter.addTab(tabHost.newTabSpec(TAB_ID_ALL).setIndicator(
getText(R.string.allPerms)), root);
}
@@ -402,6 +392,12 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
}
private void initiateInstall() {
+ if (mPkgInfo.applicationInfo
+ .targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1) {
+ startInstall();
+ return;
+ }
+
String pkgName = mPkgInfo.packageName;
// Check if there is already a package on the device with this name
// but it has been renamed to something else.
@@ -665,39 +661,10 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
// story ends; assume success.
mInstallFlowAnalytics.setFlowFinishedWithPackageManagerResult(
PackageManager.INSTALL_SUCCEEDED);
+ finish();
} else {
- // Start subactivity to actually install the application
- Intent newIntent = new Intent();
- newIntent.putExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO,
- mPkgInfo.applicationInfo);
- newIntent.setData(mPackageURI);
- newIntent.setClass(this, InstallAppProgress.class);
- newIntent.putExtra(InstallAppProgress.EXTRA_MANIFEST_DIGEST, mPkgDigest);
- newIntent.putExtra(
- InstallAppProgress.EXTRA_INSTALL_FLOW_ANALYTICS, mInstallFlowAnalytics);
- String installerPackageName = getIntent().getStringExtra(
- Intent.EXTRA_INSTALLER_PACKAGE_NAME);
- if (mOriginatingURI != null) {
- newIntent.putExtra(Intent.EXTRA_ORIGINATING_URI, mOriginatingURI);
- }
- if (mReferrerURI != null) {
- newIntent.putExtra(Intent.EXTRA_REFERRER, mReferrerURI);
- }
- if (mOriginatingUid != VerificationParams.NO_UID) {
- newIntent.putExtra(Intent.EXTRA_ORIGINATING_UID, mOriginatingUid);
- }
- if (installerPackageName != null) {
- newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME,
- installerPackageName);
- }
- if (getIntent().getBooleanExtra(Intent.EXTRA_RETURN_RESULT, false)) {
- newIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
- newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
- }
- if(localLOGV) Log.i(TAG, "downloaded app uri="+mPackageURI);
- startActivity(newIntent);
+ startInstall();
}
- finish();
} else {
mScrollView.pageScroll(View.FOCUS_DOWN);
}
@@ -712,4 +679,38 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
finish();
}
}
+
+ private void startInstall() {
+ // Start subactivity to actually install the application
+ Intent newIntent = new Intent();
+ newIntent.putExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO,
+ mPkgInfo.applicationInfo);
+ newIntent.setData(mPackageURI);
+ newIntent.setClass(this, InstallAppProgress.class);
+ newIntent.putExtra(InstallAppProgress.EXTRA_MANIFEST_DIGEST, mPkgDigest);
+ newIntent.putExtra(
+ InstallAppProgress.EXTRA_INSTALL_FLOW_ANALYTICS, mInstallFlowAnalytics);
+ String installerPackageName = getIntent().getStringExtra(
+ Intent.EXTRA_INSTALLER_PACKAGE_NAME);
+ if (mOriginatingURI != null) {
+ newIntent.putExtra(Intent.EXTRA_ORIGINATING_URI, mOriginatingURI);
+ }
+ if (mReferrerURI != null) {
+ newIntent.putExtra(Intent.EXTRA_REFERRER, mReferrerURI);
+ }
+ if (mOriginatingUid != VerificationParams.NO_UID) {
+ newIntent.putExtra(Intent.EXTRA_ORIGINATING_UID, mOriginatingUid);
+ }
+ if (installerPackageName != null) {
+ newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME,
+ installerPackageName);
+ }
+ if (getIntent().getBooleanExtra(Intent.EXTRA_RETURN_RESULT, false)) {
+ newIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
+ newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+ }
+ if(localLOGV) Log.i(TAG, "downloaded app uri="+mPackageURI);
+ startActivity(newIntent);
+ finish();
+ }
}
diff --git a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
index 2125db37..af4992b0 100644
--- a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
@@ -85,7 +85,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setLoading(true, false);
+ setLoading(true /* loading */, false /* animate */);
mHasConfirmedRevoke = false;
setHasOptionsMenu(true);
final ActionBar ab = getActivity().getActionBar();
@@ -267,9 +267,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader
R.plurals.additional_permissions_more, count, count));
screen.addPreference(extraPerms);
}
- if (screen.getPreferenceCount() != 0) {
- setLoading(false, true);
- }
+
+ setLoading(false /* loading */, true /* animate */);
}
@Override
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
index 95f2211f..4a733160 100644
--- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
@@ -71,6 +71,8 @@ public class GrantPermissionsActivity extends Activity
super.onCreate(icicle);
setFinishOnTouchOutside(false);
+ setTitle(R.string.permission_request_title);
+
int uiMode = getResources().getConfiguration().uiMode & UI_MODE_TYPE_MASK;
if (uiMode == UI_MODE_TYPE_TELEVISION) {
mViewHandler = new GrantPermissionsTvViewHandler(this).setResultListener(this);
diff --git a/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java
index 051676a8..9cea63af 100644
--- a/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java
@@ -68,7 +68,7 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
- setLoading(true, false);
+ setLoading(true /* loading */, false /* animate */);
setHasOptionsMenu(true);
final ActionBar ab = getActivity().getActionBar();
if (ab != null) {
@@ -260,13 +260,14 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
screen.addPreference(extraScreenPreference);
}
if (screen.getPreferenceCount() != 0) {
- setLoading(false, true);
+ setLoading(false /* loading */, true /* animate */);
}
}
public static class AdditionalPermissionsFragment extends PermissionsFrameFragment {
@Override
public void onCreate(Bundle icicle) {
+ setLoading(true /* loading */, false /* animate */);
super.onCreate(icicle);
getActivity().setTitle(R.string.additional_permissions);
setHasOptionsMenu(true);
@@ -297,6 +298,7 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferenceScreen(((ManagePermissionsFragment) getTargetFragment()).mExtraScreen);
+ setLoading(false /* loading */, true /* animate */);
}
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java
index 2b014b23..33462aef 100644
--- a/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java
@@ -88,7 +88,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setLoading(true, false);
+ setLoading(true /* loading */, false /* animate */);
setHasOptionsMenu(true);
final ActionBar ab = getActivity().getActionBar();
if (ab != null) {
@@ -295,9 +295,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
}
}
- if (screen.getPreferenceCount() != 0) {
- setLoading(false, true);
- }
+ setLoading(false /* loading */, true /* animate */);
if (mOnPermissionsLoadedListener != null) {
mOnPermissionsLoadedListener.onPermissionsLoaded(permissionApps);
@@ -384,13 +382,14 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public void onCreate(Bundle savedInstanceState) {
mOuterFragment = (PermissionAppsFragment) getTargetFragment();
+ setLoading(true /* loading */, false /* animate */);
super.onCreate(savedInstanceState);
}
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
if (mOuterFragment.mExtraScreen != null) {
- setPreferenceScreen(mOuterFragment.mExtraScreen);
+ setPreferenceScreen();
} else {
mOuterFragment.setOnPermissionsLoadedListener(this);
}
@@ -406,8 +405,13 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public void onPermissionsLoaded(PermissionApps permissionApps) {
- setPreferenceScreen(mOuterFragment.mExtraScreen);
+ setPreferenceScreen();
mOuterFragment.setOnPermissionsLoadedListener(null);
}
+
+ private void setPreferenceScreen() {
+ setPreferenceScreen(mOuterFragment.mExtraScreen);
+ setLoading(false /* loading */, true /* animate */);
+ }
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java b/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java
index 88eda41f..e6b18944 100644
--- a/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java
@@ -72,11 +72,12 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
private void setLoading(boolean loading, boolean animate, boolean force) {
if (mIsLoading != loading || force) {
mIsLoading = loading;
- if (mLoadingView == null) {
- return;
+ if (mPrefsView != null) {
+ setViewShown(mPrefsView, !loading, animate);
+ }
+ if (mLoadingView != null) {
+ setViewShown(mLoadingView, loading, animate);
}
- setViewShown(mPrefsView, !loading, animate);
- setViewShown(mLoadingView, loading, animate);
}
}