Add extra indicating honored query arguments.
Rename QUERY_RESULT_SIZE to EXTRA_TOTAL_SIZE. Change-Id: I18f1e0b77362c6f898bc4d5846e21dfb205be19a Test: Manual Bug: 30927484
This commit is contained in:
@@ -8445,8 +8445,10 @@ package android.content {
|
||||
field public static final java.lang.String ANY_CURSOR_ITEM_TYPE = "vnd.android.cursor.item/*";
|
||||
field public static final java.lang.String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
|
||||
field public static final java.lang.String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
|
||||
field public static final java.lang.String EXTRA_HONORED_ARGS = "android.content.extra.HONORED_ARGS";
|
||||
field public static final java.lang.String EXTRA_REFRESH_SUPPORTED = "android.content.extra.REFRESH_SUPPORTED";
|
||||
field public static final java.lang.String EXTRA_SIZE = "android.content.extra.SIZE";
|
||||
field public static final java.lang.String EXTRA_TOTAL_SIZE = "android.content.extra.TOTAL_SIZE";
|
||||
field public static final int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 2; // 0x2
|
||||
field public static final int NOTIFY_SYNC_TO_NETWORK = 1; // 0x1
|
||||
field public static final java.lang.String QUERY_ARG_LIMIT = "android:query-page-limit";
|
||||
@@ -8457,7 +8459,6 @@ package android.content {
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SELECTION = "android:query-sql-selection";
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SELECTION_ARGS = "android:query-sql-selection-args";
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SORT_ORDER = "android:query-sql-sort-order";
|
||||
field public static final java.lang.String QUERY_RESULT_SIZE = "android:query-result-size";
|
||||
field public static final int QUERY_SORT_DIRECTION_ASCENDING = 0; // 0x0
|
||||
field public static final int QUERY_SORT_DIRECTION_DESCENDING = 1; // 0x1
|
||||
field public static final java.lang.String SCHEME_ANDROID_RESOURCE = "android.resource";
|
||||
@@ -30125,12 +30126,12 @@ package android.os {
|
||||
field public static final int BATTERY_PLUGGED_AC = 1; // 0x1
|
||||
field public static final int BATTERY_PLUGGED_USB = 2; // 0x2
|
||||
field public static final int BATTERY_PLUGGED_WIRELESS = 4; // 0x4
|
||||
field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
|
||||
field public static final int BATTERY_PROPERTY_CAPACITY = 4; // 0x4
|
||||
field public static final int BATTERY_PROPERTY_CHARGE_COUNTER = 1; // 0x1
|
||||
field public static final int BATTERY_PROPERTY_CURRENT_AVERAGE = 3; // 0x3
|
||||
field public static final int BATTERY_PROPERTY_CURRENT_NOW = 2; // 0x2
|
||||
field public static final int BATTERY_PROPERTY_ENERGY_COUNTER = 5; // 0x5
|
||||
field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
|
||||
field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
|
||||
field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
|
||||
field public static final int BATTERY_STATUS_FULL = 5; // 0x5
|
||||
|
||||
@@ -8898,8 +8898,10 @@ package android.content {
|
||||
field public static final java.lang.String ANY_CURSOR_ITEM_TYPE = "vnd.android.cursor.item/*";
|
||||
field public static final java.lang.String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
|
||||
field public static final java.lang.String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
|
||||
field public static final java.lang.String EXTRA_HONORED_ARGS = "android.content.extra.HONORED_ARGS";
|
||||
field public static final java.lang.String EXTRA_REFRESH_SUPPORTED = "android.content.extra.REFRESH_SUPPORTED";
|
||||
field public static final java.lang.String EXTRA_SIZE = "android.content.extra.SIZE";
|
||||
field public static final java.lang.String EXTRA_TOTAL_SIZE = "android.content.extra.TOTAL_SIZE";
|
||||
field public static final int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 2; // 0x2
|
||||
field public static final int NOTIFY_SYNC_TO_NETWORK = 1; // 0x1
|
||||
field public static final java.lang.String QUERY_ARG_LIMIT = "android:query-page-limit";
|
||||
@@ -8910,7 +8912,6 @@ package android.content {
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SELECTION = "android:query-sql-selection";
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SELECTION_ARGS = "android:query-sql-selection-args";
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SORT_ORDER = "android:query-sql-sort-order";
|
||||
field public static final java.lang.String QUERY_RESULT_SIZE = "android:query-result-size";
|
||||
field public static final int QUERY_SORT_DIRECTION_ASCENDING = 0; // 0x0
|
||||
field public static final int QUERY_SORT_DIRECTION_DESCENDING = 1; // 0x1
|
||||
field public static final java.lang.String SCHEME_ANDROID_RESOURCE = "android.resource";
|
||||
@@ -32727,12 +32728,12 @@ package android.os {
|
||||
field public static final int BATTERY_PLUGGED_AC = 1; // 0x1
|
||||
field public static final int BATTERY_PLUGGED_USB = 2; // 0x2
|
||||
field public static final int BATTERY_PLUGGED_WIRELESS = 4; // 0x4
|
||||
field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
|
||||
field public static final int BATTERY_PROPERTY_CAPACITY = 4; // 0x4
|
||||
field public static final int BATTERY_PROPERTY_CHARGE_COUNTER = 1; // 0x1
|
||||
field public static final int BATTERY_PROPERTY_CURRENT_AVERAGE = 3; // 0x3
|
||||
field public static final int BATTERY_PROPERTY_CURRENT_NOW = 2; // 0x2
|
||||
field public static final int BATTERY_PROPERTY_ENERGY_COUNTER = 5; // 0x5
|
||||
field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
|
||||
field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
|
||||
field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
|
||||
field public static final int BATTERY_STATUS_FULL = 5; // 0x5
|
||||
|
||||
@@ -8472,8 +8472,10 @@ package android.content {
|
||||
field public static final java.lang.String ANY_CURSOR_ITEM_TYPE = "vnd.android.cursor.item/*";
|
||||
field public static final java.lang.String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
|
||||
field public static final java.lang.String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
|
||||
field public static final java.lang.String EXTRA_HONORED_ARGS = "android.content.extra.HONORED_ARGS";
|
||||
field public static final java.lang.String EXTRA_REFRESH_SUPPORTED = "android.content.extra.REFRESH_SUPPORTED";
|
||||
field public static final java.lang.String EXTRA_SIZE = "android.content.extra.SIZE";
|
||||
field public static final java.lang.String EXTRA_TOTAL_SIZE = "android.content.extra.TOTAL_SIZE";
|
||||
field public static final int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 2; // 0x2
|
||||
field public static final int NOTIFY_SYNC_TO_NETWORK = 1; // 0x1
|
||||
field public static final java.lang.String QUERY_ARG_LIMIT = "android:query-page-limit";
|
||||
@@ -8484,7 +8486,6 @@ package android.content {
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SELECTION = "android:query-sql-selection";
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SELECTION_ARGS = "android:query-sql-selection-args";
|
||||
field public static final java.lang.String QUERY_ARG_SQL_SORT_ORDER = "android:query-sql-sort-order";
|
||||
field public static final java.lang.String QUERY_RESULT_SIZE = "android:query-result-size";
|
||||
field public static final int QUERY_SORT_DIRECTION_ASCENDING = 0; // 0x0
|
||||
field public static final int QUERY_SORT_DIRECTION_DESCENDING = 1; // 0x1
|
||||
field public static final java.lang.String SCHEME_ANDROID_RESOURCE = "android.resource";
|
||||
@@ -30221,12 +30222,12 @@ package android.os {
|
||||
field public static final int BATTERY_PLUGGED_AC = 1; // 0x1
|
||||
field public static final int BATTERY_PLUGGED_USB = 2; // 0x2
|
||||
field public static final int BATTERY_PLUGGED_WIRELESS = 4; // 0x4
|
||||
field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
|
||||
field public static final int BATTERY_PROPERTY_CAPACITY = 4; // 0x4
|
||||
field public static final int BATTERY_PROPERTY_CHARGE_COUNTER = 1; // 0x1
|
||||
field public static final int BATTERY_PROPERTY_CURRENT_AVERAGE = 3; // 0x3
|
||||
field public static final int BATTERY_PROPERTY_CURRENT_NOW = 2; // 0x2
|
||||
field public static final int BATTERY_PROPERTY_ENERGY_COUNTER = 5; // 0x5
|
||||
field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
|
||||
field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
|
||||
field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
|
||||
field public static final int BATTERY_STATUS_FULL = 5; // 0x5
|
||||
|
||||
@@ -307,6 +307,18 @@ public abstract class ContentResolver {
|
||||
*/
|
||||
public static final String QUERY_ARG_SORT_COLLATION = "android:query-sort-collation";
|
||||
|
||||
/**
|
||||
* Allows provider to report back to client which keys were honored.
|
||||
*
|
||||
* Key identifying a {@code String[]} containing all QUERY_ARG_SORT* arguments
|
||||
* honored by the provider. Include this in {@link Cursor} extras {@link Bundle}
|
||||
* when any QUERY_ARG_SORT* value was honored during the preparation of the
|
||||
* results {@link Cursor}.
|
||||
*
|
||||
* @see #QUERY_ARG_SORT_COLUMNS, #QUERY_ARG_SORT_DIRECTION, #QUERY_ARG_SORT_COLLATION.
|
||||
*/
|
||||
public static final String EXTRA_HONORED_ARGS = "android.content.extra.HONORED_ARGS";
|
||||
|
||||
/** @hide */
|
||||
@IntDef(flag = false, value = {
|
||||
QUERY_SORT_DIRECTION_ASCENDING,
|
||||
@@ -354,8 +366,9 @@ public abstract class ContentResolver {
|
||||
public static final String QUERY_ARG_LIMIT = "android:query-page-limit";
|
||||
|
||||
/**
|
||||
* Added to {@link Cursor} extras {@link Bundle} to indicate size of the
|
||||
* full, un-offset, un-limited recordset.
|
||||
* Added to {@link Cursor} extras {@link Bundle} to indicate total size of
|
||||
* recordset when paging is active. Providers must include this when
|
||||
* implementing paging support.
|
||||
*
|
||||
* <p>When full size of the recordset is unknown a provider may return -1
|
||||
* to indicate this.
|
||||
@@ -364,7 +377,7 @@ public abstract class ContentResolver {
|
||||
* send content change notification once (if) full recordset size becomes
|
||||
* known.
|
||||
*/
|
||||
public static final String QUERY_RESULT_SIZE = "android:query-result-size";
|
||||
public static final String EXTRA_TOTAL_SIZE = "android.content.extra.TOTAL_SIZE";
|
||||
|
||||
/**
|
||||
* This is the Android platform's base MIME type for a content: URI
|
||||
@@ -704,6 +717,13 @@ public abstract class ContentResolver {
|
||||
* <li>Provide an explicit projection, to prevent reading data from storage
|
||||
* that aren't going to be used.
|
||||
*
|
||||
* Provider must identify which QUERY_ARG_SORT* arguments were honored during
|
||||
* the preparation of the result set by including the respective argument keys
|
||||
* in the {@link Cursor} extras {@link Bundle}. See {@link #EXTRA_HONORED_ARGS}
|
||||
* for details.
|
||||
*
|
||||
* @see #QUERY_ARG_SORT_COLUMNS, #QUERY_ARG_SORT_DIRECTION, #QUERY_ARG_SORT_COLLATION.
|
||||
*
|
||||
* @param uri The URI, using the content:// scheme, for the content to
|
||||
* retrieve.
|
||||
* @param projection A list of which columns to return. Passing null will
|
||||
@@ -3037,17 +3057,19 @@ public abstract class ContentResolver {
|
||||
query += " COLLATE NOCASE";
|
||||
}
|
||||
|
||||
switch (queryArgs.getInt(
|
||||
QUERY_ARG_SORT_DIRECTION, Integer.MIN_VALUE)) {
|
||||
case QUERY_SORT_DIRECTION_ASCENDING:
|
||||
query += " ASC";
|
||||
break;
|
||||
case QUERY_SORT_DIRECTION_DESCENDING:
|
||||
query += " DESC";
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unsupported sort direction value."
|
||||
+ " See ContentResolver documentation for details.");
|
||||
int sortDir = queryArgs.getInt(QUERY_ARG_SORT_DIRECTION, Integer.MIN_VALUE);
|
||||
if (sortDir != Integer.MIN_VALUE) {
|
||||
switch (sortDir) {
|
||||
case QUERY_SORT_DIRECTION_ASCENDING:
|
||||
query += " ASC";
|
||||
break;
|
||||
case QUERY_SORT_DIRECTION_DESCENDING:
|
||||
query += " DESC";
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unsupported sort direction value."
|
||||
+ " See ContentResolver documentation for details.");
|
||||
}
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user