diff options
author | Daichi Hirono <hirono@google.com> | 2015-04-17 18:42:03 +0900 |
---|---|---|
committer | Daichi Hirono <hirono@google.com> | 2015-05-18 11:27:15 +0900 |
commit | e9cbfe8e5adadfbe740836d46b8a52a066316697 (patch) | |
tree | 12b7e24e971b2a6584b95e330a01d7b3a1bee81b /packages/DocumentsUI/src | |
parent | 19877fa5f63de5d403e981c9d0025b237aea4306 (diff) | |
download | frameworks_base-e9cbfe8e5adadfbe740836d46b8a52a066316697.zip frameworks_base-e9cbfe8e5adadfbe740836d46b8a52a066316697.tar.gz frameworks_base-e9cbfe8e5adadfbe740836d46b8a52a066316697.tar.bz2 |
DocumentUI: Plish the design of footer bottons.
* Remove the directory name from "pick" button.
* Allign buttons at right.
* Fix bug that the pick button turns to be hidden after screen rotation.
BUG=20285152
Change-Id: I909d52f341bf67c5627431a354a9b0ccec152a05
Diffstat (limited to 'packages/DocumentsUI/src')
-rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java | 4 | ||||
-rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/PickFragment.java | 65 |
2 files changed, 38 insertions, 31 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java index cded717..8482438 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java @@ -571,9 +571,7 @@ public class DocumentsActivity extends BaseActivity { mState.action == ACTION_OPEN_COPY_DESTINATION) { final PickFragment pick = PickFragment.get(fm); if (pick != null) { - final CharSequence displayName = (mState.stack.size() <= 1) ? root.title - : cwd.displayName; - pick.setPickTarget(mState.action, cwd, displayName); + pick.setPickTarget(mState.action, cwd); } } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java b/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java index e899379..d9b8568 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java @@ -38,15 +38,19 @@ import java.util.Locale; public class PickFragment extends Fragment { public static final String TAG = "PickFragment"; + private int mAction; private DocumentInfo mPickTarget; - private View mContainer; private Button mPick; private Button mCancel; public static void show(FragmentManager fm) { - final PickFragment fragment = new PickFragment(); + // Fragment can be restored by FragmentManager automatically. + if (get(fm) != null) { + return; + } + final PickFragment fragment = new PickFragment(); final FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.container_save, fragment, TAG); ft.commitAllowingStateLoss(); @@ -67,8 +71,7 @@ public class PickFragment extends Fragment { mCancel = (Button) mContainer.findViewById(android.R.id.button2); mCancel.setOnClickListener(mCancelListener); - setPickTarget(0, null, null); - + updateView(); return mContainer; } @@ -92,32 +95,38 @@ public class PickFragment extends Fragment { /** * @param action Which action defined in BaseActivity.State is the picker shown for. */ - public void setPickTarget(int action, - DocumentInfo pickTarget, - CharSequence displayName) { + public void setPickTarget(int action, DocumentInfo pickTarget) { + mAction = action; + mPickTarget = pickTarget; if (mContainer != null) { - if (pickTarget != null) { - final Locale locale = getResources().getConfiguration().locale; - switch (action) { - case BaseActivity.State.ACTION_OPEN_TREE: - final String raw = getString(R.string.menu_select).toUpperCase(locale); - mPick.setText(TextUtils.expandTemplate(raw, displayName)); - mCancel.setVisibility(View.GONE); - break; - case BaseActivity.State.ACTION_OPEN_COPY_DESTINATION: - mPick.setText(getString(R.string.button_copy).toUpperCase(locale)); - mCancel.setVisibility(View.VISIBLE); - break; - default: - throw new IllegalArgumentException("Illegal action for PickFragment."); - } - } - if (pickTarget != null && pickTarget.isCreateSupported()) { - mContainer.setVisibility(View.VISIBLE); - } else { + updateView(); + } + } + + /** + * Applies the state of fragment to the view components. + */ + private void updateView() { + switch (mAction) { + case BaseActivity.State.ACTION_OPEN_TREE: + mPick.setText(R.string.button_select); + mCancel.setVisibility(View.GONE); + break; + case BaseActivity.State.ACTION_OPEN_COPY_DESTINATION: + mPick.setText(R.string.button_copy); + mCancel.setVisibility(View.VISIBLE); + break; + default: mContainer.setVisibility(View.GONE); - } + return; + } + + if (mPickTarget != null && ( + mAction == BaseActivity.State.ACTION_OPEN_TREE || + mPickTarget.isCreateSupported())) { + mContainer.setVisibility(View.VISIBLE); + } else { + mContainer.setVisibility(View.GONE); } - mPickTarget = pickTarget; } } |