diff options
-rw-r--r-- | res/layout/permissions_frame.xml | 31 | ||||
-rw-r--r-- | res/values/strings.xml | 3 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/AppPermissions.java | 3 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ManagePermissionsFragment.java | 15 |
4 files changed, 52 insertions, 0 deletions
diff --git a/res/layout/permissions_frame.xml b/res/layout/permissions_frame.xml new file mode 100644 index 00000000..e70aaf63 --- /dev/null +++ b/res/layout/permissions_frame.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<FrameLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" > + + <TextView + android:id="@+id/no_permissions" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:text="@string/no_permissions" + android:gravity="center" + android:textAppearance="@android:style/TextAppearance.Large" + /> + +</FrameLayout> diff --git a/res/values/strings.xml b/res/values/strings.xml index 52fe050d..3bd5ed8c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -203,4 +203,7 @@ request again --> <string name="never_ask_again">Never ask again</string> + <!-- Label when app requests no permissions --> + <string name="no_permissions">No permissions</string> + </resources> 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); |