OSDN Git Service

Split remote folder settings into home and drawer sections
authorArtem Shvadskiy <ashvadskiy@cyngn.com>
Wed, 10 Feb 2016 22:27:25 +0000 (14:27 -0800)
committerGerrit Code Review <gerrit@cyanogenmod.org>
Wed, 10 Feb 2016 22:47:17 +0000 (14:47 -0800)
Change-Id: I0265ac00b4926007de3bda7619c0b1dbedb7580b
issue-id: CYNGNOS-1984

RemoteFolder/src/com/android/launcher3/RemoteFolderManager.java
src/com/android/launcher3/OverviewSettingsPanel.java
src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java

index a7b90ef..33610e0 100644 (file)
@@ -120,10 +120,18 @@ public class RemoteFolderManager {
     public void onBindViewHolder(final AllAppsGridAdapter.ViewHolder holder, final AppInfo item) { }
 
     /**
-     * Populate settings list with additional values as needed.
+     * Populate home settings list with additional values as needed.
      * @param values list of settings strings.
      * @param context application context.
      */
-    public static void onInitializeSettingsAdapter(final ArrayList<String> values,
+    public static void onInitializeHomeSettings(final ArrayList<String> values,
+                                                   final Context context) { }
+
+    /**
+     * Populate drawer settings list with additional values as needed.
+     * @param values list of settings strings.
+     * @param context application context.
+     */
+    public static void onInitializeDrawerSettings(final ArrayList<String> values,
                                                    final Context context) { }
 }
index 45a3e62..815a5c8 100644 (file)
@@ -6,7 +6,6 @@ import android.database.MatrixCursor;
 import android.widget.ListView;
 import com.android.launcher3.list.PinnedHeaderListView;
 import com.android.launcher3.list.SettingsPinnedHeaderAdapter;
-import com.android.launcher3.settings.SettingsProvider;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -39,14 +38,6 @@ public class OverviewSettingsPanel {
                 res.getString(R.string.drawer_settings),
                 res.getString(R.string.app_settings)};
 
-        String[] valuesDrawer = new String[] {
-                res.getString(R.string.icon_labels),
-                res.getString(R.string.app_drawer_style),
-                res.getString(R.string.app_drawer_color),
-                res.getString(R.string.fast_scroller),
-                res.getString(R.string.fast_scroller_type),
-                res.getString(R.string.home_screen_search_text)};
-
         String[] valuesApp = new String[] {
                 res.getString(R.string.larger_icons_text),
                 res.getString(R.string.protected_app_settings),
@@ -60,9 +51,9 @@ public class OverviewSettingsPanel {
         mSettingsAdapter.mPinnedHeaderCount = headers.length;
 
         mSettingsAdapter.changeCursor(HOME_SETTINGS_POSITION,
-                createCursor(headers[0], getValues()));
-        mSettingsAdapter.changeCursor(DRAWER_SETTINGS_POSITION, createCursor(headers[1],
-                valuesDrawer));
+                createCursor(headers[0], getValuesHome()));
+        mSettingsAdapter.changeCursor(DRAWER_SETTINGS_POSITION,
+                createCursor(headers[1], getValuesDrawer()));
         mSettingsAdapter.changeCursor(APP_SETTINGS_POSITION, createCursor(headers[2], valuesApp));
         mListView.setAdapter(mSettingsAdapter);
     }
@@ -76,7 +67,7 @@ public class OverviewSettingsPanel {
         return cursor;
     }
 
-    private String[] getValues() {
+    private String[] getValuesHome() {
         Resources res = mLauncher.getResources();
         ArrayList<String> values = new ArrayList<String>(Arrays.asList(new String[]{
                 res.getString(R.string.home_screen_search_text),
@@ -85,7 +76,25 @@ public class OverviewSettingsPanel {
                 res.getString(R.string.grid_size_text)}));
 
         // Add additional external settings.
-        RemoteFolderManager.onInitializeSettingsAdapter(values, mLauncher);
+        RemoteFolderManager.onInitializeHomeSettings(values, mLauncher);
+
+        String[] valuesArr = new String[values.size()];
+        values.toArray(valuesArr);
+        return valuesArr;
+    }
+
+    private String[] getValuesDrawer() {
+        Resources res = mLauncher.getResources();
+        ArrayList<String> values = new ArrayList<String>(Arrays.asList(new String[]{
+                res.getString(R.string.icon_labels),
+                res.getString(R.string.app_drawer_style),
+                res.getString(R.string.app_drawer_color),
+                res.getString(R.string.fast_scroller),
+                res.getString(R.string.fast_scroller_type),
+                res.getString(R.string.home_screen_search_text)}));
+
+        // Add additional external settings.
+        RemoteFolderManager.onInitializeDrawerSettings(values, mLauncher);
 
         String[] valuesArr = new String[values.size()];
         values.toArray(valuesArr);
index 09b27b8..18d396a 100644 (file)
@@ -128,12 +128,6 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
                                 R.bool.preferences_interface_homescreen_remote_folder_default);
                         setSettingSwitch(stateView, settingSwitch, current);
                         break;
-                    case 5:
-                        current = SettingsProvider.getBoolean(mContext,
-                                SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS,
-                                R.bool.preferences_interface_drawer_remote_apps_default);
-                        setSettingSwitch(stateView, settingSwitch, current);
-                        break;
                     default:
                         hideStates(stateView, settingSwitch);
                 }
@@ -183,6 +177,12 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
                                 R.bool.preferences_interface_drawer_search_default);
                         setSettingSwitch(stateView, settingSwitch, current);
                         break;
+                    case 6:
+                        current = SettingsProvider.getBoolean(mContext,
+                                SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS,
+                                R.bool.preferences_interface_drawer_remote_apps_default);
+                        setSettingSwitch(stateView, settingSwitch, current);
+                        break;
                     default:
                         hideStates(stateView, settingSwitch);
                 }
@@ -286,12 +286,6 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
                                     R.bool.preferences_interface_homescreen_remote_folder_default);
                             mLauncher.getRemoteFolderManager().onSettingChanged();
                             break;
-                        case 5:
-                            onSettingsBooleanChanged(v,
-                                    SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS,
-                                    R.bool.preferences_interface_drawer_remote_apps_default);
-                            mLauncher.getRemoteFolderManager().onSettingChanged();
-                            break;
                     }
                     break;
                 case OverviewSettingsPanel.DRAWER_SETTINGS_POSITION:
@@ -334,6 +328,12 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter {
                                     R.bool.preferences_interface_drawer_search_default);
                             mLauncher.reloadAppDrawer();
                             break;
+                        case 6:
+                            onSettingsBooleanChanged(v,
+                                    SettingsProvider.SETTINGS_UI_DRAWER_REMOTE_APPS,
+                                    R.bool.preferences_interface_drawer_remote_apps_default);
+                            mLauncher.getRemoteFolderManager().onSettingChanged();
+                            break;
                     }
                     break;
                 case OverviewSettingsPanel.APP_SETTINGS_POSITION: