Merge "Moving some tests to robolectric" into ub-launcher3-master
diff --git a/src/com/android/launcher3/settings/SettingsActivity.java b/src/com/android/launcher3/settings/SettingsActivity.java
index 18b6094..f4c2852 100644
--- a/src/com/android/launcher3/settings/SettingsActivity.java
+++ b/src/com/android/launcher3/settings/SettingsActivity.java
@@ -21,9 +21,6 @@
import static com.android.launcher3.states.RotationHelper.getAllowRotationDefaultValue;
import static com.android.launcher3.util.SecureSettingsObserver.newNotificationSettingsObserver;
-import android.app.Activity;
-import android.app.DialogFragment;
-import android.app.Fragment;
import android.content.ComponentName;
import android.content.Context;
import android.content.SharedPreferences;
@@ -32,6 +29,18 @@
import android.provider.Settings;
import android.text.TextUtils;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartFragmentCallback;
+import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartScreenCallback;
+import androidx.preference.PreferenceGroup.PreferencePositionCallback;
+import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.android.launcher3.LauncherFiles;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
@@ -40,18 +49,10 @@
import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
import com.android.launcher3.util.SecureSettingsObserver;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
-import androidx.preference.PreferenceFragment.OnPreferenceStartFragmentCallback;
-import androidx.preference.PreferenceFragment.OnPreferenceStartScreenCallback;
-import androidx.preference.PreferenceGroup.PreferencePositionCallback;
-import androidx.preference.PreferenceScreen;
-import androidx.recyclerview.widget.RecyclerView;
-
/**
* Settings activity for Launcher. Currently implements the following setting: Allow rotation
*/
-public class SettingsActivity extends Activity
+public class SettingsActivity extends FragmentActivity
implements OnPreferenceStartFragmentCallback, OnPreferenceStartScreenCallback,
SharedPreferences.OnSharedPreferenceChangeListener{
@@ -80,15 +81,16 @@
args.putString(EXTRA_FRAGMENT_ARG_KEY, prefKey);
}
- Fragment f = Fragment.instantiate(
- this, getString(R.string.settings_fragment_name), args);
+ final FragmentManager fm = getSupportFragmentManager();
+ final Fragment f = fm.getFragmentFactory().instantiate(getClassLoader(),
+ getString(R.string.settings_fragment_name));
+ f.setArguments(args);
// Display the fragment as the main content.
- getFragmentManager().beginTransaction()
- .replace(android.R.id.content, f)
- .commit();
+ fm.beginTransaction().replace(android.R.id.content, f).commit();
}
Utilities.getPrefs(getApplicationContext()).registerOnSharedPreferenceChangeListener(this);
}
+
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (GRID_OPTIONS_PREFERENCE_KEY.equals(key)) {
@@ -112,41 +114,39 @@
}
private boolean startFragment(String fragment, Bundle args, String key) {
- if (Utilities.ATLEAST_P && getFragmentManager().isStateSaved()) {
+ if (Utilities.ATLEAST_P && getSupportFragmentManager().isStateSaved()) {
// Sometimes onClick can come after onPause because of being posted on the handler.
// Skip starting new fragments in that case.
return false;
}
- Fragment f = Fragment.instantiate(this, fragment, args);
+ final FragmentManager fm = getSupportFragmentManager();
+ final Fragment f = fm.getFragmentFactory().instantiate(getClassLoader(), fragment);
+ f.setArguments(args);
if (f instanceof DialogFragment) {
- ((DialogFragment) f).show(getFragmentManager(), key);
+ ((DialogFragment) f).show(getSupportFragmentManager(), key);
} else {
- getFragmentManager()
- .beginTransaction()
- .replace(android.R.id.content, f)
- .addToBackStack(key)
- .commit();
+ fm.beginTransaction().replace(android.R.id.content, f).addToBackStack(key).commit();
}
return true;
}
@Override
public boolean onPreferenceStartFragment(
- PreferenceFragment preferenceFragment, Preference pref) {
+ PreferenceFragmentCompat preferenceFragment, Preference pref) {
return startFragment(pref.getFragment(), pref.getExtras(), pref.getKey());
}
@Override
- public boolean onPreferenceStartScreen(PreferenceFragment caller, PreferenceScreen pref) {
+ public boolean onPreferenceStartScreen(PreferenceFragmentCompat caller, PreferenceScreen pref) {
Bundle args = new Bundle();
- args.putString(PreferenceFragment.ARG_PREFERENCE_ROOT, pref.getKey());
+ args.putString(PreferenceFragmentCompat.ARG_PREFERENCE_ROOT, pref.getKey());
return startFragment(getString(R.string.settings_fragment_name), args, pref.getKey());
}
/**
* This fragment shows the launcher preferences.
*/
- public static class LauncherSettingsFragment extends PreferenceFragment {
+ public static class LauncherSettingsFragment extends PreferenceFragmentCompat {
private SecureSettingsObserver mNotificationDotsObserver;