diff options
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldDefaultAppFragment.java')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldDefaultAppFragment.java | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldDefaultAppFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldDefaultAppFragment.java index 4b9f74235..02f888f21 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldDefaultAppFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldDefaultAppFragment.java @@ -16,6 +16,7 @@ package com.android.permissioncontroller.role.ui.handheld; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.UserHandle; @@ -23,19 +24,20 @@ import android.os.UserHandle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; -import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.Preference; +import androidx.preference.TwoStatePreference; import com.android.permissioncontroller.R; +import com.android.permissioncontroller.role.ui.DefaultAppChildFragment; /** * Handheld fragment for a default app. */ public class HandheldDefaultAppFragment extends SettingsFragment - implements HandheldDefaultAppPreferenceFragment.Parent { + implements DefaultAppChildFragment.Parent { - @NonNull private String mRoleName; - @NonNull + private UserHandle mUser; /** @@ -66,10 +68,17 @@ public class HandheldDefaultAppFragment extends SettingsFragment mUser = arguments.getParcelable(Intent.EXTRA_USER); } - @NonNull @Override - protected PreferenceFragmentCompat onCreatePreferenceFragment() { - return HandheldDefaultAppPreferenceFragment.newInstance(mRoleName, mUser); + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + + if (savedInstanceState == null) { + DefaultAppChildFragment fragment = DefaultAppChildFragment.newInstance(mRoleName, + mUser); + getChildFragmentManager().beginTransaction() + .add(fragment, null) + .commit(); + } } @Override @@ -77,4 +86,26 @@ public class HandheldDefaultAppFragment extends SettingsFragment protected int getEmptyTextResource() { return R.string.default_app_no_apps; } + + @Override + public void setTitle(@NonNull CharSequence title) { + requireActivity().setTitle(title); + } + + @NonNull + @Override + public TwoStatePreference createApplicationPreference(@NonNull Context context) { + return new AppIconRadioButtonPreference(context); + } + + @NonNull + @Override + public Preference createFooterPreference(@NonNull Context context) { + return new FooterPreference(context); + } + + @Override + public void onPreferenceScreenChanged() { + updateState(); + } } |