summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src
diff options
context:
space:
mode:
authorDaichi Hirono <hirono@google.com>2015-04-17 18:42:03 +0900
committerDaichi Hirono <hirono@google.com>2015-05-18 11:27:15 +0900
commite9cbfe8e5adadfbe740836d46b8a52a066316697 (patch)
tree12b7e24e971b2a6584b95e330a01d7b3a1bee81b /packages/DocumentsUI/src
parent19877fa5f63de5d403e981c9d0025b237aea4306 (diff)
downloadframeworks_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.java4
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/PickFragment.java65
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;
}
}