Loading src/com/android/documentsui/BaseActivity.java +0 −2 Original line number Diff line number Diff line Loading @@ -106,7 +106,6 @@ public abstract class BaseActivity mTag = tag; } protected abstract void onTaskFinished(Uri... uris); protected abstract void refreshDirectory(int anim); /** Allows sub-classes to include information in a newly created State instance. */ protected abstract void includeState(State initialState); Loading Loading @@ -251,7 +250,6 @@ public abstract class BaseActivity state.sortModel = SortModel.createModel(); state.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false); state.initAcceptMimes(intent); state.excludedAuthorities = getExcludedAuthorities(); includeState(state); Loading src/com/android/documentsui/base/State.java +2 −8 Original line number Diff line number Diff line Loading @@ -109,17 +109,11 @@ public class State implements android.os.Parcelable { /** Name of the package that started DocsUI */ public List<String> excludedAuthorities = new ArrayList<>(); public void initAcceptMimes(Intent intent) { public void initAcceptMimes(Intent intent, String defaultAcceptMimeType) { if (intent.hasExtra(Intent.EXTRA_MIME_TYPES)) { acceptMimes = intent.getStringArrayExtra(Intent.EXTRA_MIME_TYPES); } else { String glob = intent.getType(); if (glob == null || DocumentsContract.Root.MIME_TYPE_ITEM.equals(glob)) { // this means we do not care for the mime type acceptMimes = new String[]{"*/*"}; } else { acceptMimes = new String[]{glob}; } acceptMimes = new String[] { defaultAcceptMimeType }; } } Loading src/com/android/documentsui/files/FilesActivity.java +4 −24 Original line number Diff line number Diff line Loading @@ -170,6 +170,10 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons public void includeState(State state) { final Intent intent = getIntent(); // This is a remnant of old logic where we used to initialize accept MIME types in // BaseActivity. RootsAccess still rely on this being correctly initialized so we still have // to initialize it in FilesActivity. state.initAcceptMimes(intent, "*/*"); state.action = State.ACTION_BROWSE; state.allowMultiple = true; Loading Loading @@ -333,30 +337,6 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons } } @Override public void onTaskFinished(Uri... uris) { if (DEBUG) Log.d(TAG, "onFinished() " + Arrays.toString(uris)); final Intent intent = new Intent(); if (uris.length == 1) { intent.setData(uris[0]); } else if (uris.length > 1) { final ClipData clipData = new ClipData( null, mState.acceptMimes, new ClipData.Item(uris[0])); for (int i = 1; i < uris.length; i++) { clipData.addItem(new ClipData.Item(uris[i])); } intent.setClipData(clipData); } intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); setResult(Activity.RESULT_OK, intent); finish(); } @Override public Injector<ActionHandler<FilesActivity>> getInjector() { return mInjector; Loading src/com/android/documentsui/picker/PickActivity.java +5 −2 Original line number Diff line number Diff line Loading @@ -156,6 +156,10 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { @Override protected void includeState(State state) { final Intent intent = getIntent(); String defaultMimeType = (intent.getType() == null) ? "*/*" : intent.getType(); state.initAcceptMimes(intent, defaultMimeType); final String action = intent.getAction(); if (Intent.ACTION_OPEN_DOCUMENT.equals(action)) { state.action = ACTION_OPEN; Loading Loading @@ -381,8 +385,7 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { getContentResolver(), Shared.getCallingPackageName(this), mState.stack); } @Override protected void onTaskFinished(Uri... uris) { private void onTaskFinished(Uri... uris) { if (DEBUG) Log.d(TAG, "onFinished() " + Arrays.toString(uris)); final Intent intent = new Intent(); Loading tests/unit/com/android/documentsui/base/StateTest.java +2 −11 Original line number Diff line number Diff line Loading @@ -42,27 +42,18 @@ public class StateTest { mState = new State(); } @Test public void testAcceptAllMimeTypesByDefault() { mState.initAcceptMimes(mIntent); assertArrayEquals(new String[] { "*/*" }, mState.acceptMimes); } @Test public void testAcceptGivenMimeTypesInExtra() { mIntent.putExtra(Intent.EXTRA_MIME_TYPES, MIME_TYPES); mState.initAcceptMimes(mIntent); mState.initAcceptMimes(mIntent, "*/*"); assertArrayEquals(MIME_TYPES, mState.acceptMimes); } @Test public void testAcceptIntentTypeWithoutExtra() { mIntent.setType(MIME_TYPES[0]); mState.initAcceptMimes(mIntent); mState.initAcceptMimes(mIntent, MIME_TYPES[0]); assertArrayEquals(new String[] { MIME_TYPES[0] }, mState.acceptMimes); } Loading Loading
src/com/android/documentsui/BaseActivity.java +0 −2 Original line number Diff line number Diff line Loading @@ -106,7 +106,6 @@ public abstract class BaseActivity mTag = tag; } protected abstract void onTaskFinished(Uri... uris); protected abstract void refreshDirectory(int anim); /** Allows sub-classes to include information in a newly created State instance. */ protected abstract void includeState(State initialState); Loading Loading @@ -251,7 +250,6 @@ public abstract class BaseActivity state.sortModel = SortModel.createModel(); state.localOnly = intent.getBooleanExtra(Intent.EXTRA_LOCAL_ONLY, false); state.initAcceptMimes(intent); state.excludedAuthorities = getExcludedAuthorities(); includeState(state); Loading
src/com/android/documentsui/base/State.java +2 −8 Original line number Diff line number Diff line Loading @@ -109,17 +109,11 @@ public class State implements android.os.Parcelable { /** Name of the package that started DocsUI */ public List<String> excludedAuthorities = new ArrayList<>(); public void initAcceptMimes(Intent intent) { public void initAcceptMimes(Intent intent, String defaultAcceptMimeType) { if (intent.hasExtra(Intent.EXTRA_MIME_TYPES)) { acceptMimes = intent.getStringArrayExtra(Intent.EXTRA_MIME_TYPES); } else { String glob = intent.getType(); if (glob == null || DocumentsContract.Root.MIME_TYPE_ITEM.equals(glob)) { // this means we do not care for the mime type acceptMimes = new String[]{"*/*"}; } else { acceptMimes = new String[]{glob}; } acceptMimes = new String[] { defaultAcceptMimeType }; } } Loading
src/com/android/documentsui/files/FilesActivity.java +4 −24 Original line number Diff line number Diff line Loading @@ -170,6 +170,10 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons public void includeState(State state) { final Intent intent = getIntent(); // This is a remnant of old logic where we used to initialize accept MIME types in // BaseActivity. RootsAccess still rely on this being correctly initialized so we still have // to initialize it in FilesActivity. state.initAcceptMimes(intent, "*/*"); state.action = State.ACTION_BROWSE; state.allowMultiple = true; Loading Loading @@ -333,30 +337,6 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons } } @Override public void onTaskFinished(Uri... uris) { if (DEBUG) Log.d(TAG, "onFinished() " + Arrays.toString(uris)); final Intent intent = new Intent(); if (uris.length == 1) { intent.setData(uris[0]); } else if (uris.length > 1) { final ClipData clipData = new ClipData( null, mState.acceptMimes, new ClipData.Item(uris[0])); for (int i = 1; i < uris.length; i++) { clipData.addItem(new ClipData.Item(uris[i])); } intent.setClipData(clipData); } intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); setResult(Activity.RESULT_OK, intent); finish(); } @Override public Injector<ActionHandler<FilesActivity>> getInjector() { return mInjector; Loading
src/com/android/documentsui/picker/PickActivity.java +5 −2 Original line number Diff line number Diff line Loading @@ -156,6 +156,10 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { @Override protected void includeState(State state) { final Intent intent = getIntent(); String defaultMimeType = (intent.getType() == null) ? "*/*" : intent.getType(); state.initAcceptMimes(intent, defaultMimeType); final String action = intent.getAction(); if (Intent.ACTION_OPEN_DOCUMENT.equals(action)) { state.action = ACTION_OPEN; Loading Loading @@ -381,8 +385,7 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { getContentResolver(), Shared.getCallingPackageName(this), mState.stack); } @Override protected void onTaskFinished(Uri... uris) { private void onTaskFinished(Uri... uris) { if (DEBUG) Log.d(TAG, "onFinished() " + Arrays.toString(uris)); final Intent intent = new Intent(); Loading
tests/unit/com/android/documentsui/base/StateTest.java +2 −11 Original line number Diff line number Diff line Loading @@ -42,27 +42,18 @@ public class StateTest { mState = new State(); } @Test public void testAcceptAllMimeTypesByDefault() { mState.initAcceptMimes(mIntent); assertArrayEquals(new String[] { "*/*" }, mState.acceptMimes); } @Test public void testAcceptGivenMimeTypesInExtra() { mIntent.putExtra(Intent.EXTRA_MIME_TYPES, MIME_TYPES); mState.initAcceptMimes(mIntent); mState.initAcceptMimes(mIntent, "*/*"); assertArrayEquals(MIME_TYPES, mState.acceptMimes); } @Test public void testAcceptIntentTypeWithoutExtra() { mIntent.setType(MIME_TYPES[0]); mState.initAcceptMimes(mIntent); mState.initAcceptMimes(mIntent, MIME_TYPES[0]); assertArrayEquals(new String[] { MIME_TYPES[0] }, mState.acceptMimes); } Loading