summaryrefslogtreecommitdiff
path: root/Settings/src/com/android/tv/settings/TvSettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'Settings/src/com/android/tv/settings/TvSettingsActivity.java')
-rw-r--r--Settings/src/com/android/tv/settings/TvSettingsActivity.java123
1 files changed, 9 insertions, 114 deletions
diff --git a/Settings/src/com/android/tv/settings/TvSettingsActivity.java b/Settings/src/com/android/tv/settings/TvSettingsActivity.java
index 20c0f8f66..a3ab44211 100644
--- a/Settings/src/com/android/tv/settings/TvSettingsActivity.java
+++ b/Settings/src/com/android/tv/settings/TvSettingsActivity.java
@@ -16,7 +16,9 @@
package com.android.tv.settings;
-import static com.android.tv.settings.library.overlay.FlavorUtils.ALL_FLAVORS_MASK;
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
+import static com.android.tv.settings.overlay.FlavorUtils.ALL_FLAVORS_MASK;
import android.content.Intent;
import android.os.Bundle;
@@ -36,17 +38,11 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
-import com.android.tv.settings.compat.PreferenceControllerFragmentCompat;
-import com.android.tv.settings.library.ManagerUtil;
-import com.android.tv.settings.library.PreferenceCompat;
-import com.android.tv.settings.library.SettingsManager;
-import com.android.tv.settings.library.State;
-import com.android.tv.settings.library.UIUpdateCallback;
-import com.android.tv.settings.library.overlay.FlavorUtils;
+import com.android.tv.settings.overlay.FlavorUtils;
import java.util.List;
-public abstract class TvSettingsActivity extends FragmentActivity implements HasSettingsManager {
+public abstract class TvSettingsActivity extends FragmentActivity {
private static final String TAG = "TvSettingsActivity";
private static final String SETTINGS_FRAGMENT_TAG =
@@ -55,94 +51,8 @@ public abstract class TvSettingsActivity extends FragmentActivity implements Has
private static final int UI_UPDATE_DELAY_MS = 200;
private static final int REQUEST_CODE_STARTUP_VERIFICATION = 1;
- public SettingsManager mSettingsManager;
private Handler mHandler = new Handler(Looper.getMainLooper());
- private final UIUpdateCallback mUIUpdateCallback =
- new UIUpdateCallback() {
- @Override
- public void notifyUpdate(
- int state, PreferenceCompat preference) {
- // Delay the preference updates if there is no visible fragment yet, this
- // could happen when a configuration change has occurred.
- if (getVisibleFragment() == null) {
- mHandler.postDelayed(() -> {
- notifyUpdate(state, preference);
- }, UI_UPDATE_DELAY_MS);
- return;
- }
- getVisibleFragment().getChildFragmentManager().getFragments().stream()
- .filter(
- fragment ->
- fragment instanceof PreferenceControllerFragmentCompat
- &&
- ((PreferenceControllerFragmentCompat) fragment)
- .getStateIdentifier() == state)
-
- .forEach(
- fragment ->
- ((PreferenceControllerFragmentCompat) fragment)
- .updatePref(preference));
- }
-
- @Override
- public void notifyUpdateAll(
- int state, List<PreferenceCompat> preferences) {
- // Delay the preference updates if there is no visible fragment yet, this
- // could happen when a configuration change has occurred.
- if (getVisibleFragment() == null) {
- mHandler.postDelayed(() -> {
- notifyUpdateAll(state, preferences);
- }, UI_UPDATE_DELAY_MS);
- return;
- }
- getVisibleFragment().getChildFragmentManager().getFragments().stream()
- .filter(
- fragment ->
- fragment instanceof PreferenceControllerFragmentCompat
- &&
- ((PreferenceControllerFragmentCompat) fragment)
- .getStateIdentifier() == state)
- .forEach(
- fragment ->
- ((PreferenceControllerFragmentCompat) fragment)
- .updateAllPref(preferences));
- }
-
- @Override
- public void notifyUpdateScreenTitle(int state, String title) {
- // Delay the preference updates if there is no visible fragment yet, this
- // could happen when a configuration change has occurred.
- if (getVisibleFragment() == null) {
- mHandler.postDelayed(() -> {
- notifyUpdateScreenTitle(state, title);
- }, UI_UPDATE_DELAY_MS);
- return;
- }
- getVisibleFragment().getChildFragmentManager().getFragments().stream()
- .filter(
- fragment ->
- fragment instanceof PreferenceControllerFragmentCompat
- &&
- ((PreferenceControllerFragmentCompat) fragment)
- .getStateIdentifier() == state)
- .forEach(
- fragment ->
- ((PreferenceControllerFragmentCompat) fragment)
- .updateScreenTitle(title));
- }
-
- @Override
- public void notifyNavigateBackward(int state) {
-
- }
-
- @Override
- public void notifyNavigateForward(int state) {
-
- }
- };
-
public Fragment getVisibleFragment() {
FragmentManager fragmentManager = getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
@@ -157,13 +67,11 @@ public abstract class TvSettingsActivity extends FragmentActivity implements Has
}
@Override
- public SettingsManager getSettingsManager() {
- return mSettingsManager;
- }
-
- @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
if ((FlavorUtils.getFlavor(this) & getAvailableFlavors()) == 0) {
Log.w(TAG, "Activity is not supported in current flavor");
finish();
@@ -292,20 +200,7 @@ public abstract class TvSettingsActivity extends FragmentActivity implements Has
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- if (mSettingsManager != null && ManagerUtil.getStateIdentifier(requestCode) != -1) {
- int stateIdentifier = ManagerUtil.getStateIdentifier(requestCode);
- getVisibleFragment().getChildFragmentManager().getFragments().stream().filter(
- fragment ->
- fragment instanceof PreferenceControllerFragmentCompat
- && ((PreferenceControllerFragmentCompat) fragment)
- .getStateIdentifier() == stateIdentifier)
- .findAny().ifPresent(fragment -> {
- State state = ((PreferenceControllerFragmentCompat) fragment).getState();
- if (state != null) {
- mSettingsManager.onActivityResult(state, requestCode, resultCode, data);
- }
- });
- } else if (requestCode == REQUEST_CODE_STARTUP_VERIFICATION) {
+ if (requestCode == REQUEST_CODE_STARTUP_VERIFICATION) {
if (resultCode == RESULT_OK) {
Log.v(TAG, "Startup verification succeeded.");
if (FlavorUtils.getFlavor(this) == FlavorUtils.FLAVOR_X