Loading packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +12 −8 Original line number Diff line number Diff line Loading @@ -469,15 +469,19 @@ abstract class BaseActivity extends Activity { @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (DEBUG) Log.d(mTag, "onKeyUp: keycode = " + keyCode); DirectoryFragment dir = DirectoryFragment.get(getFragmentManager()); // TODO: Support for RecentsCreateFragment. DirectoryFragment fragment = DirectoryFragment.get(getFragmentManager()); if (fragment != null) { switch (keyCode) { case KeyEvent.KEYCODE_MOVE_HOME: dir.focusFirstFile(); fragment.focusFirstFile(); return true; case KeyEvent.KEYCODE_MOVE_END: dir.focusLastFile(); fragment.focusLastFile(); return true; } } return super.onKeyUp(keyCode, event); } Loading packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java +5 −2 Original line number Diff line number Diff line Loading @@ -205,9 +205,12 @@ public class DirectoryFragment extends Fragment { return builder.toString(); } public static DirectoryFragment get(FragmentManager fm) { public static @Nullable DirectoryFragment get(FragmentManager fm) { // TODO: deal with multiple directories shown at once return (DirectoryFragment) fm.findFragmentById(R.id.container_directory); Fragment fragment = fm.findFragmentById(R.id.container_directory); return fragment instanceof DirectoryFragment ? (DirectoryFragment) fragment : null; } @Override Loading packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -337,7 +337,7 @@ public class DocumentsActivity extends BaseActivity { if (mState.action == ACTION_CREATE) { final FragmentManager fm = getFragmentManager(); SaveFragment.get(fm).setSaveEnabled(cwd != null && cwd.isCreateSupported()); SaveFragment.get(fm).prepareForDirectory(cwd); } Menus.disableHiddenItems(menu); Loading packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java +30 −9 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.content.Context; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -79,6 +80,17 @@ public class SaveFragment extends Fragment { mDisplayName = (EditText) view.findViewById(android.R.id.title); mDisplayName.addTextChangedListener(mDisplayNameWatcher); mDisplayName.setText(getArguments().getString(EXTRA_DISPLAY_NAME)); mDisplayName.setOnKeyListener( new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER && mSave.isEnabled()) { performSave(); return true; } return false; } }); mSave = (Button) view.findViewById(android.R.id.button1); mSave.setOnClickListener(mSaveListener); Loading Loading @@ -113,6 +125,12 @@ public class SaveFragment extends Fragment { private View.OnClickListener mSaveListener = new View.OnClickListener() { @Override public void onClick(View v) { performSave(); } }; private void performSave() { final DocumentsActivity activity = DocumentsActivity.get(SaveFragment.this); if (mReplaceTarget != null) { activity.onSaveRequested(mReplaceTarget); Loading @@ -122,7 +140,6 @@ public class SaveFragment extends Fragment { activity.onSaveRequested(mimeType, displayName); } } }; /** * Set given document as target for in-place writing if user hits save Loading @@ -139,7 +156,11 @@ public class SaveFragment extends Fragment { } } public void setSaveEnabled(boolean enabled) { public void prepareForDirectory(DocumentInfo cwd) { setSaveEnabled(cwd != null && cwd.isCreateSupported()); } private void setSaveEnabled(boolean enabled) { mSave.setEnabled(enabled); } Loading Loading
packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +12 −8 Original line number Diff line number Diff line Loading @@ -469,15 +469,19 @@ abstract class BaseActivity extends Activity { @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (DEBUG) Log.d(mTag, "onKeyUp: keycode = " + keyCode); DirectoryFragment dir = DirectoryFragment.get(getFragmentManager()); // TODO: Support for RecentsCreateFragment. DirectoryFragment fragment = DirectoryFragment.get(getFragmentManager()); if (fragment != null) { switch (keyCode) { case KeyEvent.KEYCODE_MOVE_HOME: dir.focusFirstFile(); fragment.focusFirstFile(); return true; case KeyEvent.KEYCODE_MOVE_END: dir.focusLastFile(); fragment.focusLastFile(); return true; } } return super.onKeyUp(keyCode, event); } Loading
packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java +5 −2 Original line number Diff line number Diff line Loading @@ -205,9 +205,12 @@ public class DirectoryFragment extends Fragment { return builder.toString(); } public static DirectoryFragment get(FragmentManager fm) { public static @Nullable DirectoryFragment get(FragmentManager fm) { // TODO: deal with multiple directories shown at once return (DirectoryFragment) fm.findFragmentById(R.id.container_directory); Fragment fragment = fm.findFragmentById(R.id.container_directory); return fragment instanceof DirectoryFragment ? (DirectoryFragment) fragment : null; } @Override Loading
packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -337,7 +337,7 @@ public class DocumentsActivity extends BaseActivity { if (mState.action == ACTION_CREATE) { final FragmentManager fm = getFragmentManager(); SaveFragment.get(fm).setSaveEnabled(cwd != null && cwd.isCreateSupported()); SaveFragment.get(fm).prepareForDirectory(cwd); } Menus.disableHiddenItems(menu); Loading
packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java +30 −9 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.content.Context; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -79,6 +80,17 @@ public class SaveFragment extends Fragment { mDisplayName = (EditText) view.findViewById(android.R.id.title); mDisplayName.addTextChangedListener(mDisplayNameWatcher); mDisplayName.setText(getArguments().getString(EXTRA_DISPLAY_NAME)); mDisplayName.setOnKeyListener( new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER && mSave.isEnabled()) { performSave(); return true; } return false; } }); mSave = (Button) view.findViewById(android.R.id.button1); mSave.setOnClickListener(mSaveListener); Loading Loading @@ -113,6 +125,12 @@ public class SaveFragment extends Fragment { private View.OnClickListener mSaveListener = new View.OnClickListener() { @Override public void onClick(View v) { performSave(); } }; private void performSave() { final DocumentsActivity activity = DocumentsActivity.get(SaveFragment.this); if (mReplaceTarget != null) { activity.onSaveRequested(mReplaceTarget); Loading @@ -122,7 +140,6 @@ public class SaveFragment extends Fragment { activity.onSaveRequested(mimeType, displayName); } } }; /** * Set given document as target for in-place writing if user hits save Loading @@ -139,7 +156,11 @@ public class SaveFragment extends Fragment { } } public void setSaveEnabled(boolean enabled) { public void prepareForDirectory(DocumentInfo cwd) { setSaveEnabled(cwd != null && cwd.isCreateSupported()); } private void setSaveEnabled(boolean enabled) { mSave.setEnabled(enabled); } Loading