Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8d13ea5 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Jeff Sharkey
Browse files

Move DocumentsUI settings into overflow menu.

Also use different strings based on device type to make clearer.

Bug: 13437894
Change-Id: I4053780de2c7197fb45cc53aee7659e9d0d75c0a
parent 1320b566
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -42,12 +42,6 @@
            </intent-filter>
        </activity>

        <activity
            android:name=".SettingsActivity"
            android:label="@string/menu_settings"
            android:theme="@android:style/Theme.DeviceDefault.Light.DialogWhenLarge"
            android:exported="false" />

        <provider
            android:name=".RecentsProvider"
            android:authorities="com.android.documentsui.recents"
+4 −3
Original line number Diff line number Diff line
@@ -55,8 +55,9 @@
        android:icon="@drawable/ic_menu_view_list"
        android:showAsAction="never" />
    <item
        android:id="@+id/menu_settings"
        android:title="@string/menu_settings"
        android:icon="@drawable/ic_menu_settings"
        android:id="@+id/menu_advanced"
        android:showAsAction="never" />
    <item
        android:id="@+id/menu_file_size"
        android:showAsAction="never" />
</menu>
+14 −6
Original line number Diff line number Diff line
@@ -47,6 +47,20 @@
    <!-- Menu item title that selects the current directory [CHAR LIMIT=48] -->
    <string name="menu_select">Select \"<xliff:g id="directory" example="My Directory">^1</xliff:g>\"</string>

    <!-- Menu item that reveals internal storage built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_show" product="nosdcard">Show internal storage</string>
    <!-- Menu item that reveals SD cards built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_show" product="default">Show SD card</string>
    <!-- Menu item that hides internal storage built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_hide" product="nosdcard">Hide internal storage</string>
    <!-- Menu item that hides SD cards built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_hide" product="default">Hide SD card</string>

    <!-- Menu item that reveals the sizes of displayed files [CHAR LIMIT=24] -->
    <string name="menu_file_size_show">Show file size</string>
    <!-- Menu item that hides the sizes of displayed files [CHAR LIMIT=24] -->
    <string name="menu_file_size_hide">Hide file size</string>

    <!-- Action mode title summarizing the number of documents selected [CHAR LIMIT=32] -->
    <string name="mode_selected_count"><xliff:g id="count" example="3">%1$d</xliff:g> selected</string>

@@ -83,12 +97,6 @@
    <!-- Header title for list of additional apps that can provide documents [CHAR LIMIT=24] -->
    <string name="root_type_apps">More apps</string>

    <!-- Title for setting that will show all advanced storage devices [CHAR LIMIT=32] -->
    <string name="pref_advanced_devices">Display advanced devices</string>
    <!-- Title for setting that will show file sizes for all documents [CHAR LIMIT=32] -->
    <string name="pref_file_size">Display file size</string>
    <string name="pref_device_size">Display device size</string>

    <!-- Text shown when a directory of documents is empty [CHAR LIMIT=24] -->
    <string name="empty">No items</string>

+4 −0
Original line number Diff line number Diff line
@@ -351,6 +351,10 @@ public class DirectoryFragment extends Fragment {
        updateDisplayState();
    }

    public void onDisplayStateChanged() {
        updateDisplayState();
    }

    public void onUserSortOrderChanged() {
        // Sort order change always triggers reload; we'll trigger state change
        // on the flip side.
+44 −19
Original line number Diff line number Diff line
@@ -254,7 +254,13 @@ public class DocumentsActivity extends Activity {
        mState.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false);
        mState.forceAdvanced = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, false);
        mState.showAdvanced = mState.forceAdvanced
                | SettingsActivity.getDisplayAdvancedDevices(this);
                | LocalPreferences.getDisplayAdvancedDevices(this);

        if (mState.action == ACTION_MANAGE) {
            mState.showSize = true;
        } else {
            mState.showSize = LocalPreferences.getDisplayFileSize(this);
        }
    }

    private class RestoreRootTask extends AsyncTask<Void, Void, RootInfo> {
@@ -352,18 +358,6 @@ public class DocumentsActivity extends Activity {
        }
    }

    @Override
    public void onResume() {
        super.onResume();

        if (mState.action == ACTION_MANAGE) {
            mState.showSize = true;
        } else {
            mState.showSize = SettingsActivity.getDisplayFileSize(this);
            invalidateOptionsMenu();
        }
    }

    private DrawerListener mDrawerListener = new DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
@@ -463,10 +457,17 @@ public class DocumentsActivity extends Activity {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.activity, menu);

        // Actions are always visible when showing as dialog
        // Most actions are visible when showing as dialog
        if (mShowAsDialog) {
            for (int i = 0; i < menu.size(); i++) {
                menu.getItem(i).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
                final MenuItem item = menu.getItem(i);
                switch (item.getItemId()) {
                    case R.id.menu_advanced:
                    case R.id.menu_file_size:
                        break;
                    default:
                        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
                }
            }
        }

@@ -543,7 +544,8 @@ public class DocumentsActivity extends Activity {
        final MenuItem sortSize = menu.findItem(R.id.menu_sort_size);
        final MenuItem grid = menu.findItem(R.id.menu_grid);
        final MenuItem list = menu.findItem(R.id.menu_list);
        final MenuItem settings = menu.findItem(R.id.menu_settings);
        final MenuItem advanced = menu.findItem(R.id.menu_advanced);
        final MenuItem fileSize = menu.findItem(R.id.menu_file_size);

        sort.setVisible(cwd != null);
        grid.setVisible(mState.derivedMode != MODE_GRID);
@@ -594,7 +596,13 @@ public class DocumentsActivity extends Activity {
        // TODO: close any search in-progress when hiding
        search.setVisible(searchVisible);

        settings.setVisible(mState.action != ACTION_MANAGE);
        advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this)
                ? R.string.menu_advanced_hide : R.string.menu_advanced_show);
        fileSize.setTitle(LocalPreferences.getDisplayFileSize(this)
                ? R.string.menu_file_size_hide : R.string.menu_file_size_show);

        advanced.setVisible(mState.action != ACTION_MANAGE);
        fileSize.setVisible(mState.action != ACTION_MANAGE);

        return true;
    }
@@ -629,14 +637,31 @@ public class DocumentsActivity extends Activity {
        } else if (id == R.id.menu_list) {
            setUserMode(State.MODE_LIST);
            return true;
        } else if (id == R.id.menu_settings) {
            startActivity(new Intent(this, SettingsActivity.class));
        } else if (id == R.id.menu_advanced) {
            setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this));
            return true;
        } else if (id == R.id.menu_file_size) {
            setDisplayFileSize(!LocalPreferences.getDisplayFileSize(this));
            return true;
        } else {
            return super.onOptionsItemSelected(item);
        }
    }

    private void setDisplayAdvancedDevices(boolean display) {
        LocalPreferences.setDisplayAdvancedDevices(this, display);
        mState.showAdvanced = mState.forceAdvanced | display;
        RootsFragment.get(getFragmentManager()).onDisplayStateChanged();
        invalidateOptionsMenu();
    }

    private void setDisplayFileSize(boolean display) {
        LocalPreferences.setDisplayFileSize(this, display);
        mState.showSize = display;
        DirectoryFragment.get(getFragmentManager()).onDisplayStateChanged();
        invalidateOptionsMenu();
    }

    /**
     * Update UI to reflect internal state changes not from user.
     */
Loading