diff options
author | Cole Faust <colefaust@google.com> | 2020-03-12 15:33:06 -0700 |
---|---|---|
committer | Cole Faust <colefaust@google.com> | 2020-03-13 17:08:34 +0000 |
commit | e861749b6537943ed0197dc712f8a8722baf0cac (patch) | |
tree | 944ac029b7089c7302351ca58017dd3342f25146 /src/com/android/packageinstaller | |
parent | d08040fabe25bd81db1100c578b98bf03884a1a0 (diff) | |
download | android_packages_apps_PackageInstaller-e861749b6537943ed0197dc712f8a8722baf0cac.tar.gz android_packages_apps_PackageInstaller-e861749b6537943ed0197dc712f8a8722baf0cac.tar.bz2 android_packages_apps_PackageInstaller-e861749b6537943ed0197dc712f8a8722baf0cac.zip |
DO NOT MERGE: Chassify PermissionController
This was chassified in P, but never made it's way to Q
because it was renamed from PackageInstaller -> PermissionController
Not using baselayouts yet.
Fixes: 151254284
Test: Manually
Change-Id: Ia489787a89b076722c540a19521a344b71816a31
Diffstat (limited to 'src/com/android/packageinstaller')
3 files changed, 32 insertions, 31 deletions
diff --git a/src/com/android/packageinstaller/auto/AutoSettingsFrameFragment.java b/src/com/android/packageinstaller/auto/AutoSettingsFrameFragment.java index ea8987e3..d89ced7b 100644 --- a/src/com/android/packageinstaller/auto/AutoSettingsFrameFragment.java +++ b/src/com/android/packageinstaller/auto/AutoSettingsFrameFragment.java @@ -21,22 +21,21 @@ import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Button; -import android.widget.ProgressBar; -import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.preference.PreferenceFragmentCompat; +import com.android.car.ui.preference.PreferenceFragment; +import com.android.car.ui.toolbar.MenuItem; +import com.android.car.ui.toolbar.ToolbarController; import com.android.permissioncontroller.R; +import java.util.Collections; + /** Common settings frame for car related settings in permission controller. */ -public abstract class AutoSettingsFrameFragment extends PreferenceFragmentCompat { +public abstract class AutoSettingsFrameFragment extends PreferenceFragment { - private TextView mLabelView; - private ProgressBar mProgressBar; - private Button mAction; + private ToolbarController mToolbar; private CharSequence mLabel; private boolean mIsLoading; @@ -48,16 +47,10 @@ public abstract class AutoSettingsFrameFragment extends PreferenceFragmentCompat @Nullable Bundle savedInstanceState) { View rootView = super.onCreateView(inflater, container, savedInstanceState); - View backButton = rootView.findViewById(R.id.back_button); - backButton.setOnClickListener(v -> getActivity().onBackPressed()); + mToolbar = rootView.findViewById(R.id.toolbar); - mLabelView = rootView.findViewById(R.id.label); updateHeaderLabel(); - - mProgressBar = rootView.findViewById(R.id.progress_bar); updateLoading(); - - mAction = rootView.findViewById(R.id.action); updateAction(); return rootView; @@ -66,6 +59,10 @@ public abstract class AutoSettingsFrameFragment extends PreferenceFragmentCompat /** Sets the header text of this fragment. */ public void setHeaderLabel(CharSequence label) { mLabel = label; + if (getPreferenceScreen() != null) { + // Needed because CarUi's preference fragment reads this title + getPreferenceScreen().setTitle(mLabel); + } updateHeaderLabel(); } @@ -75,8 +72,8 @@ public abstract class AutoSettingsFrameFragment extends PreferenceFragmentCompat } private void updateHeaderLabel() { - if (mLabelView != null) { - mLabelView.setText(mLabel); + if (mToolbar != null) { + mToolbar.setTitle(mLabel); } } @@ -91,8 +88,12 @@ public abstract class AutoSettingsFrameFragment extends PreferenceFragmentCompat } private void updateLoading() { - if (mProgressBar != null) { - mProgressBar.setVisibility(mIsLoading ? View.VISIBLE : View.GONE); + if (mToolbar != null) { + if (mIsLoading) { + mToolbar.showProgressBar(); + } else { + mToolbar.hideProgressBar(); + } } } @@ -107,15 +108,16 @@ public abstract class AutoSettingsFrameFragment extends PreferenceFragmentCompat } private void updateAction() { - if (mAction == null) { + if (mToolbar == null) { return; } if (!TextUtils.isEmpty(mActionLabel) && mActionOnClickListener != null) { - mAction.setText(mActionLabel); - mAction.setOnClickListener(mActionOnClickListener); - mAction.setVisibility(View.VISIBLE); + mToolbar.setMenuItems(Collections.singletonList(MenuItem.builder(getContext()) + .setTitle(mActionLabel) + .setOnClickListener(i -> mActionOnClickListener.onClick(null)) + .build())); } else { - mAction.setVisibility(View.GONE); + mToolbar.setMenuItems(null); } } } diff --git a/src/com/android/packageinstaller/permission/ui/auto/AutoAllAppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/auto/AutoAllAppPermissionsFragment.java index c07fe5ff..006aec3a 100644 --- a/src/com/android/packageinstaller/permission/ui/auto/AutoAllAppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/auto/AutoAllAppPermissionsFragment.java @@ -16,7 +16,6 @@ package com.android.packageinstaller.permission.ui.auto; -import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -41,6 +40,7 @@ import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceViewHolder; import androidx.preference.SwitchPreference; +import com.android.car.ui.AlertDialogBuilder; import com.android.packageinstaller.auto.AutoSettingsFrameFragment; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.Permission; @@ -251,7 +251,7 @@ public class AutoAllAppPermissionsFragment extends AutoSettingsFrameFragment { final CharSequence desc = perm.loadDescription(pm); pref.setOnPreferenceClickListener((Preference preference) -> { - new AlertDialog.Builder(getContext()) + new AlertDialogBuilder(getContext()) .setMessage(desc) .setPositiveButton(android.R.string.ok, /* listener= */ null) .show(); diff --git a/src/com/android/packageinstaller/permission/ui/auto/AutoAppPermissionFragment.java b/src/com/android/packageinstaller/permission/ui/auto/AutoAppPermissionFragment.java index ecbde6c5..1ff7c769 100644 --- a/src/com/android/packageinstaller/permission/ui/auto/AutoAppPermissionFragment.java +++ b/src/com/android/packageinstaller/permission/ui/auto/AutoAppPermissionFragment.java @@ -19,7 +19,6 @@ package com.android.packageinstaller.permission.ui.auto; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.app.Activity; -import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.Intent; @@ -43,6 +42,7 @@ import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import androidx.preference.TwoStatePreference; +import com.android.car.ui.AlertDialogBuilder; import com.android.packageinstaller.auto.AutoSettingsFrameFragment; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.Permission; @@ -772,15 +772,14 @@ public class AutoAppPermissionFragment extends AutoSettingsFrameFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AutoAppPermissionFragment fragment = (AutoAppPermissionFragment) getTargetFragment(); - AlertDialog.Builder b = new AlertDialog.Builder(getContext()) + return new AlertDialogBuilder(getContext()) .setMessage(getArguments().getInt(MSG)) .setNegativeButton(R.string.cancel, (dialog, which) -> fragment.updateUi()) .setPositiveButton(R.string.grant_dialog_button_deny_anyway, (dialog, which) -> - fragment.onDenyAnyWay(getArguments().getInt(CHANGE_TARGET))); - - return b.create(); + fragment.onDenyAnyWay(getArguments().getInt(CHANGE_TARGET))) + .create(); } } |