Loading core/java/android/content/ContentProviderClient.java +13 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.os.RemoteException; import android.os.ParcelFileDescriptor; import android.content.res.AssetFileDescriptor; import dalvik.system.CloseGuard; import java.io.FileNotFoundException; import java.util.ArrayList; Loading @@ -49,6 +51,8 @@ public class ContentProviderClient { private final boolean mStable; private boolean mReleased; private final CloseGuard mGuard = CloseGuard.get(); /** * @hide */ Loading @@ -58,6 +62,7 @@ public class ContentProviderClient { mContentResolver = contentResolver; mPackageName = contentResolver.mPackageName; mStable = stable; mGuard.open("release"); } /** See {@link ContentProvider#query ContentProvider.query} */ Loading Loading @@ -324,6 +329,7 @@ public class ContentProviderClient { throw new IllegalStateException("Already released"); } mReleased = true; mGuard.close(); if (mStable) { return mContentResolver.releaseProvider(mContentProvider); } else { Loading @@ -332,6 +338,13 @@ public class ContentProviderClient { } } @Override protected void finalize() throws Throwable { if (mGuard != null) { mGuard.warnIfOpen(); } } /** * Get a reference to the {@link ContentProvider} that is associated with this * client. If the {@link ContentProvider} is running in a different process then Loading packages/DocumentsUI/AndroidManifest.xml +2 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,8 @@ <!-- TODO: allow rotation when state saving is in better shape --> <activity android:name=".DocumentsActivity" android:theme="@style/Theme"> android:theme="@style/Theme" android:icon="@drawable/ic_doc_text"> <intent-filter android:priority="100"> <action android:name="android.intent.action.OPEN_DOCUMENT" /> <category android:name="android.intent.category.DEFAULT" /> Loading packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +19 −4 Original line number Diff line number Diff line Loading @@ -87,8 +87,8 @@ import libcore.io.IoUtils; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Collection; import java.util.HashMap; import java.util.List; public class DocumentsActivity extends Activity { Loading @@ -96,6 +96,8 @@ public class DocumentsActivity extends Activity { private static final String EXTRA_STATE = "state"; private static final int CODE_FORWARD = 42; private boolean mShowAsDialog; private SearchView mSearchView; Loading Loading @@ -843,11 +845,24 @@ public class DocumentsActivity extends Activity { public void onAppPicked(ResolveInfo info) { final Intent intent = new Intent(getIntent()); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.setComponent(new ComponentName( info.activityInfo.applicationInfo.packageName, info.activityInfo.name)); startActivity(intent); startActivityForResult(intent, CODE_FORWARD); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityResult() code=" + resultCode); // Only relay back results when not canceled; otherwise stick around to // let the user pick another app/backend. if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) { setResult(resultCode, data); finish(); } else { super.onActivityResult(requestCode, resultCode, data); } } public void onDocumentPicked(DocumentInfo doc) { Loading packages/DocumentsUI/src/com/android/documentsui/RecentLoader.java +7 −1 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class RecentLoader extends AsyncTaskLoader<DirectoryResult> { private static final boolean LOGD = true; public static final int MAX_OUTSTANDING_RECENTS = 2; Loading @@ -63,7 +64,7 @@ public class RecentLoader extends AsyncTaskLoader<DirectoryResult> { /** * Maximum documents from a single root. */ public static final int MAX_DOCS_FROM_ROOT = 24; public static final int MAX_DOCS_FROM_ROOT = 64; private static final ExecutorService sExecutor = buildExecutor(); Loading Loading @@ -194,6 +195,11 @@ public class RecentLoader extends AsyncTaskLoader<DirectoryResult> { } } if (LOGD) { Log.d(TAG, "Found " + cursors.size() + " of " + mTasks.size() + " recent queries done"); Log.d(TAG, sExecutor.toString()); } final DirectoryResult result = new DirectoryResult(); result.sortOrder = SORT_ORDER_LAST_MODIFIED; Loading packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java +1 −4 Original line number Diff line number Diff line Loading @@ -195,12 +195,9 @@ public class RecentsCreateFragment extends Fragment { final SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append(stack.root.title); appendDrawable(builder, crumb); for (int i = stack.size() - 2; i >= 0; i--) { builder.append(stack.get(i).displayName); if (i > 0) { appendDrawable(builder, crumb); } builder.append(stack.get(i).displayName); } title.setText(builder); title.setEllipsize(TruncateAt.MIDDLE); Loading Loading
core/java/android/content/ContentProviderClient.java +13 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.os.RemoteException; import android.os.ParcelFileDescriptor; import android.content.res.AssetFileDescriptor; import dalvik.system.CloseGuard; import java.io.FileNotFoundException; import java.util.ArrayList; Loading @@ -49,6 +51,8 @@ public class ContentProviderClient { private final boolean mStable; private boolean mReleased; private final CloseGuard mGuard = CloseGuard.get(); /** * @hide */ Loading @@ -58,6 +62,7 @@ public class ContentProviderClient { mContentResolver = contentResolver; mPackageName = contentResolver.mPackageName; mStable = stable; mGuard.open("release"); } /** See {@link ContentProvider#query ContentProvider.query} */ Loading Loading @@ -324,6 +329,7 @@ public class ContentProviderClient { throw new IllegalStateException("Already released"); } mReleased = true; mGuard.close(); if (mStable) { return mContentResolver.releaseProvider(mContentProvider); } else { Loading @@ -332,6 +338,13 @@ public class ContentProviderClient { } } @Override protected void finalize() throws Throwable { if (mGuard != null) { mGuard.warnIfOpen(); } } /** * Get a reference to the {@link ContentProvider} that is associated with this * client. If the {@link ContentProvider} is running in a different process then Loading
packages/DocumentsUI/AndroidManifest.xml +2 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,8 @@ <!-- TODO: allow rotation when state saving is in better shape --> <activity android:name=".DocumentsActivity" android:theme="@style/Theme"> android:theme="@style/Theme" android:icon="@drawable/ic_doc_text"> <intent-filter android:priority="100"> <action android:name="android.intent.action.OPEN_DOCUMENT" /> <category android:name="android.intent.category.DEFAULT" /> Loading
packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +19 −4 Original line number Diff line number Diff line Loading @@ -87,8 +87,8 @@ import libcore.io.IoUtils; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Collection; import java.util.HashMap; import java.util.List; public class DocumentsActivity extends Activity { Loading @@ -96,6 +96,8 @@ public class DocumentsActivity extends Activity { private static final String EXTRA_STATE = "state"; private static final int CODE_FORWARD = 42; private boolean mShowAsDialog; private SearchView mSearchView; Loading Loading @@ -843,11 +845,24 @@ public class DocumentsActivity extends Activity { public void onAppPicked(ResolveInfo info) { final Intent intent = new Intent(getIntent()); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.setComponent(new ComponentName( info.activityInfo.applicationInfo.packageName, info.activityInfo.name)); startActivity(intent); startActivityForResult(intent, CODE_FORWARD); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityResult() code=" + resultCode); // Only relay back results when not canceled; otherwise stick around to // let the user pick another app/backend. if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) { setResult(resultCode, data); finish(); } else { super.onActivityResult(requestCode, resultCode, data); } } public void onDocumentPicked(DocumentInfo doc) { Loading
packages/DocumentsUI/src/com/android/documentsui/RecentLoader.java +7 −1 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class RecentLoader extends AsyncTaskLoader<DirectoryResult> { private static final boolean LOGD = true; public static final int MAX_OUTSTANDING_RECENTS = 2; Loading @@ -63,7 +64,7 @@ public class RecentLoader extends AsyncTaskLoader<DirectoryResult> { /** * Maximum documents from a single root. */ public static final int MAX_DOCS_FROM_ROOT = 24; public static final int MAX_DOCS_FROM_ROOT = 64; private static final ExecutorService sExecutor = buildExecutor(); Loading Loading @@ -194,6 +195,11 @@ public class RecentLoader extends AsyncTaskLoader<DirectoryResult> { } } if (LOGD) { Log.d(TAG, "Found " + cursors.size() + " of " + mTasks.size() + " recent queries done"); Log.d(TAG, sExecutor.toString()); } final DirectoryResult result = new DirectoryResult(); result.sortOrder = SORT_ORDER_LAST_MODIFIED; Loading
packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java +1 −4 Original line number Diff line number Diff line Loading @@ -195,12 +195,9 @@ public class RecentsCreateFragment extends Fragment { final SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append(stack.root.title); appendDrawable(builder, crumb); for (int i = stack.size() - 2; i >= 0; i--) { builder.append(stack.get(i).displayName); if (i > 0) { appendDrawable(builder, crumb); } builder.append(stack.get(i).displayName); } title.setText(builder); title.setEllipsize(TruncateAt.MIDDLE); Loading