diff options
Diffstat (limited to 'packages/DocumentsUI/src/com/android/documentsui')
3 files changed, 30 insertions, 1 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java index 90be197..ba8c35f 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/CreateDirectoryFragment.java @@ -95,6 +95,11 @@ public class CreateDirectoryFragment extends DialogFragment { } @Override + protected void onPreExecute() { + mActivity.setPending(true); + } + + @Override protected DocumentInfo doInBackground(Void... params) { final ContentResolver resolver = mActivity.getContentResolver(); ContentProviderClient client = null; @@ -120,6 +125,8 @@ public class CreateDirectoryFragment extends DialogFragment { } else { Toast.makeText(mActivity, R.string.create_error, Toast.LENGTH_SHORT).show(); } + + mActivity.setPending(false); } } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java index d675e8d..a9278d7 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java @@ -661,6 +661,13 @@ public class DocumentsActivity extends Activity { DirectoryFragment.get(getFragmentManager()).onUserModeChanged(); } + public void setPending(boolean pending) { + final SaveFragment save = SaveFragment.get(getFragmentManager()); + if (save != null) { + save.setPending(pending); + } + } + @Override public void onBackPressed() { if (!mState.stackTouched) { @@ -1051,6 +1058,11 @@ public class DocumentsActivity extends Activity { } @Override + protected void onPreExecute() { + setPending(true); + } + + @Override protected Uri doInBackground(Void... params) { final ContentResolver resolver = getContentResolver(); final DocumentInfo cwd = getCurrentDirectory(); @@ -1083,6 +1095,8 @@ public class DocumentsActivity extends Activity { Toast.makeText(DocumentsActivity.this, R.string.save_error, Toast.LENGTH_SHORT) .show(); } + + setPending(false); } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java index 23e047c..9d70c51 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java @@ -30,6 +30,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; +import android.widget.ProgressBar; import com.android.documentsui.model.DocumentInfo; @@ -42,6 +43,7 @@ public class SaveFragment extends Fragment { private DocumentInfo mReplaceTarget; private EditText mDisplayName; private Button mSave; + private ProgressBar mProgress; private boolean mIgnoreNextEdit; private static final String EXTRA_MIME_TYPE = "mime_type"; @@ -83,6 +85,8 @@ public class SaveFragment extends Fragment { mSave.setOnClickListener(mSaveListener); mSave.setEnabled(false); + mProgress = (ProgressBar) view.findViewById(android.R.id.progress); + return view; } @@ -92,7 +96,6 @@ public class SaveFragment extends Fragment { if (mIgnoreNextEdit) { mIgnoreNextEdit = false; } else { - Log.d(TAG, "onTextChanged!"); mReplaceTarget = null; } } @@ -140,4 +143,9 @@ public class SaveFragment extends Fragment { public void setSaveEnabled(boolean enabled) { mSave.setEnabled(enabled); } + + public void setPending(boolean pending) { + mSave.setVisibility(pending ? View.INVISIBLE : View.VISIBLE); + mProgress.setVisibility(pending ? View.VISIBLE : View.GONE); + } } |