diff options
author | Jason Monk <jmonk@google.com> | 2015-04-02 12:53:07 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2015-04-03 13:37:28 -0400 |
commit | 630bf0bd3f37417cc5c19bc4f0ff8c94a6ec085c (patch) | |
tree | 29aa800187268ca86e97213a555f6d36e0c9af34 /src | |
parent | 0de1d79bbdc6249e546fc114ec4c57153f7d9b9d (diff) | |
download | android_packages_apps_PackageInstaller-630bf0bd3f37417cc5c19bc4f0ff8c94a6ec085c.tar.gz android_packages_apps_PackageInstaller-630bf0bd3f37417cc5c19bc4f0ff8c94a6ec085c.tar.bz2 android_packages_apps_PackageInstaller-630bf0bd3f37417cc5c19bc4f0ff8c94a6ec085c.zip |
Handle apps with no permissions (don't crash)
Change-Id: I186b14cc7edb1de53df4e7e8bf299af09009f15b
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/packageinstaller/permission/AppPermissions.java | 3 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ManagePermissionsFragment.java | 15 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/AppPermissions.java b/src/com/android/packageinstaller/permission/AppPermissions.java index 8d81d682..47ec42f7 100644 --- a/src/com/android/packageinstaller/permission/AppPermissions.java +++ b/src/com/android/packageinstaller/permission/AppPermissions.java @@ -73,6 +73,9 @@ public final class AppPermissions { private void loadPermissionGroups() { mGroups.clear(); + if (mPackageInfo.requestedPermissions == null) { + return; + } final boolean appSupportsRuntimePermissions = mPackageInfo.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1; diff --git a/src/com/android/packageinstaller/permission/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ManagePermissionsFragment.java index 4382f551..e93ba314 100644 --- a/src/com/android/packageinstaller/permission/ManagePermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ManagePermissionsFragment.java @@ -27,7 +27,11 @@ import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.util.Log; +import android.view.LayoutInflater; import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ListView; import android.widget.Toast; import com.android.packageinstaller.R; @@ -70,6 +74,17 @@ public final class ManagePermissionsFragment extends SettingsWithHeader return super.onOptionsItemSelected(item); } + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + ViewGroup rootView = (ViewGroup) + LayoutInflater.from(getActivity()).inflate(R.layout.permissions_frame, null); + rootView.addView(super.onCreateView(inflater, container, savedInstanceState)); + View emptyView = rootView.findViewById(R.id.no_permissions); + ((ListView) rootView.findViewById(android.R.id.list)).setEmptyView(emptyView); + return rootView; + } + private void bindUi() { String packageName = getArguments().getString(Intent.EXTRA_PACKAGE_NAME); |