本文整理汇总了Java中com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule类的典型用法代码示例。如果您正苦于以下问题:Java MySchedule类的具体用法?Java MySchedule怎么用?Java MySchedule使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MySchedule类属于com.google.samples.apps.iosched.provider.ScheduleContract包,在下文中一共展示了MySchedule类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: resetDirtyFlag
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
private void resetDirtyFlag(ArrayList<UserAction> actions) {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
for (UserAction action: actions) {
ContentProviderOperation op = ContentProviderOperation.newUpdate(
ScheduleContract.addCallerIsSyncAdapterParameter(
MySchedule.buildMyScheduleUri(mContext, mAccountName)))
.withSelection(MySchedule.SESSION_ID + "=? AND " +
MySchedule.MY_SCHEDULE_IN_SCHEDULE + "=?",
new String[]{action.sessionId,
action.type == UserAction.TYPE.ADD_STAR ? "1" : "0"})
.withValue(MySchedule.MY_SCHEDULE_DIRTY_FLAG, 0)
.build();
LOGD(TAG, op.toString());
ops.add(op);
}
try {
ContentProviderResult[] result = mContext.getContentResolver().applyBatch(
ScheduleContract.CONTENT_AUTHORITY, ops);
LOGD(TAG, "Result of cleaning dirty flags is "+ Arrays.toString(result));
} catch (Exception ex) {
LOGW(TAG, "Could not update dirty flags. Ignoring.", ex);
}
}
开发者ID:gdg-bh,项目名称:AppDevFestSudeste2015,代码行数:24,代码来源:AbstractUserDataSyncHelper.java
示例2: update
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
String accountName = getCurrentAccountName(uri, false);
LOGV(TAG, "update(uri=" + uri + ", values=" + values.toString()
+ ", account=" + accountName + ")");
final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
if (matchingUriEnum == ScheduleUriEnum.SEARCH_INDEX) {
// update the search index
ScheduleDatabase.updateSessionSearchIndex(db);
return 1;
}
final SelectionBuilder builder = buildSimpleSelection(uri);
if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
values.remove(MySchedule.MY_SCHEDULE_ACCOUNT_NAME);
builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
values.remove(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME);
builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
values.remove(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME);
builder.where(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?",
accountName);
}
int retVal = builder.where(selection, selectionArgs).update(db, values);
notifyChange(uri);
return retVal;
}
开发者ID:dreaminglion,项目名称:iosched-reader,代码行数:35,代码来源:ScheduleProvider.java
示例3: delete
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
String accountName = getCurrentAccountName(uri, false);
LOGV(TAG, "delete(uri=" + uri + ", account=" + accountName + ")");
if (uri == ScheduleContract.BASE_CONTENT_URI) {
// Handle whole database deletes (e.g. when signing out)
deleteDatabase();
notifyChange(uri);
return 1;
}
final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
final SelectionBuilder builder = buildSimpleSelection(uri);
ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
builder.where(
MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?", accountName);
}
int retVal = builder.where(selection, selectionArgs).delete(db);
notifyChange(uri);
return retVal;
}
开发者ID:dreaminglion,项目名称:iosched-reader,代码行数:30,代码来源:ScheduleProvider.java
示例4: delete
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
String accountName = getCurrentAccountName(uri, false);
LOGV(TAG, "delete(uri=" + uri + ", account=" + accountName + ")");
if (uri == ScheduleContract.BASE_CONTENT_URI) {
// Handle whole database deletes (e.g. when signing out)
deleteDatabase();
notifyChange(uri);
return 1;
}
final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
final SelectionBuilder builder = buildSimpleSelection(uri);
ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_RESERVATIONS) {
builder.where(MyReservations.MY_RESERVATION_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
builder.where(
MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?", accountName);
}
int retVal = builder.where(selection, selectionArgs).delete(db);
if (retVal > 0) {
notifyChange(uri);
}
return retVal;
}
开发者ID:google,项目名称:iosched,代码行数:35,代码来源:ScheduleProvider.java
示例5: resetDirtyFlag
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
private void resetDirtyFlag(ArrayList<UserAction> actions) {
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
for (UserAction action : actions) {
Uri baseUri;
String with;
String[] withSelectionValue;
String dirtyField;
if (action.type == UserAction.TYPE.SUBMIT_FEEDBACK) {
baseUri = MyFeedbackSubmitted.buildMyFeedbackSubmittedUri(mAccountName);
with = MyFeedbackSubmitted.SESSION_ID + "=?";
withSelectionValue = new String[]{action.sessionId};
dirtyField = MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_DIRTY_FLAG;
} else {
baseUri = MySchedule.buildMyScheduleUri(mAccountName);
with = MySchedule.SESSION_ID + "=? AND "
+ MySchedule.MY_SCHEDULE_IN_SCHEDULE + "=?";
withSelectionValue = new String[]{action.sessionId,
action.type == UserAction.TYPE.ADD_STAR ? "1" : "0"};
dirtyField = MySchedule.MY_SCHEDULE_DIRTY_FLAG;
}
ContentProviderOperation op = ContentProviderOperation.newUpdate(
ScheduleContractHelper.setUriAsCalledFromSyncAdapter(baseUri))
.withSelection(with, withSelectionValue)
.withValue(dirtyField, 0)
.build();
LOGD(TAG, op.toString());
ops.add(op);
}
try {
ContentProviderResult[] result = mContext.getContentResolver().applyBatch(
ScheduleContract.CONTENT_AUTHORITY, ops);
LOGD(TAG, "Result of cleaning dirty flags is "+ Arrays.toString(result));
} catch (Exception ex) {
LOGW(TAG, "Could not update dirty flags. Ignoring.", ex);
}
}
开发者ID:google,项目名称:iosched,代码行数:40,代码来源:AbstractUserDataSyncHelper.java
示例6: resetDirtyFlag
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
private void resetDirtyFlag(ArrayList<UserAction> actions) {
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
for (UserAction action : actions) {
Uri baseUri;
String with;
String[] withSelectionValue;
String dirtyField;
if (action.type == UserAction.TYPE.VIEW_VIDEO) {
baseUri = MyViewedVideos.buildMyViewedVideosUri(mAccountName);
with = MyViewedVideos.VIDEO_ID + "=?";
withSelectionValue = new String[]{action.videoId};
dirtyField = MyViewedVideos.MY_VIEWED_VIDEOS_DIRTY_FLAG;
} else if (action.type == UserAction.TYPE.SUBMIT_FEEDBACK) {
baseUri = MyFeedbackSubmitted.buildMyFeedbackSubmittedUri(mAccountName);
with = MyFeedbackSubmitted.SESSION_ID + "=?";
withSelectionValue = new String[]{action.sessionId};
dirtyField = MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_DIRTY_FLAG;
} else {
baseUri = MySchedule.buildMyScheduleUri(mAccountName);
with = MySchedule.SESSION_ID + "=? AND "
+ MySchedule.MY_SCHEDULE_IN_SCHEDULE + "=?";
withSelectionValue = new String[]{action.sessionId,
action.type == UserAction.TYPE.ADD_STAR ? "1" : "0"};
dirtyField = MySchedule.MY_SCHEDULE_DIRTY_FLAG;
}
ContentProviderOperation op = ContentProviderOperation.newUpdate(
ScheduleContractHelper.setUriAsCalledFromSyncAdapter(baseUri))
.withSelection(with, withSelectionValue)
.withValue(dirtyField, 0)
.build();
LOGD(TAG, op.toString());
ops.add(op);
}
try {
ContentProviderResult[] result = mContext.getContentResolver().applyBatch(
ScheduleContract.CONTENT_AUTHORITY, ops);
LOGD(TAG, "Result of cleaning dirty flags is "+ Arrays.toString(result));
} catch (Exception ex) {
LOGW(TAG, "Could not update dirty flags. Ignoring.", ex);
}
}
开发者ID:dreaminglion,项目名称:iosched-reader,代码行数:45,代码来源:AbstractUserDataSyncHelper.java
示例7: sync
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/**
* Create a copy of current pending actions and delegate the
* proper sync'ing to the concrete subclass on the method syncImpl.
*
*/
public boolean sync() {
// get data pending sync:
Cursor scheduleData = mContext.getContentResolver().query(
MySchedule.buildMyScheduleUri(mContext, mAccountName), MyScheduleQuery.PROJECTION,
null, null, null);
if (scheduleData == null) {
return false;
}
// Although we have a dirty flag per item, we need all schedule to sync, because it's all
// sync'ed at once to a file on AppData folder. We only use the dirty flag to decide if
// the local content was changed or not. If it was, we replace the remote content.
boolean hasPendingLocalData = false;
ArrayList<UserAction> actions = new ArrayList<UserAction>();
while (scheduleData.moveToNext()) {
UserAction userAction = new UserAction();
userAction.sessionId = scheduleData.getString(MyScheduleQuery.SESSION_ID);
Integer inSchedule = scheduleData.getInt(MyScheduleQuery.IN_SCHEDULE);
if (inSchedule == 0) {
userAction.type = UserAction.TYPE.REMOVE_STAR;
} else {
userAction.type = UserAction.TYPE.ADD_STAR;
}
userAction.requiresSync = scheduleData.getInt(MyScheduleQuery.DIRTY_FLAG) == 1;
actions.add(userAction);
if (!hasPendingLocalData && userAction.requiresSync) {
hasPendingLocalData = true;
}
}
scheduleData.close();
Log.d(TAG, "Starting Drive AppData sync. hasPendingData = " + hasPendingLocalData);
boolean dataChanged = syncImpl(actions, hasPendingLocalData);
if (hasPendingLocalData) {
resetDirtyFlag(actions);
// Notify other devices via GCM
ServerUtilities.notifyUserDataChanged(mContext);
}
if (dataChanged) {
LOGD(TAG, "Notifying changes on paths related to user data on Content Resolver.");
ContentResolver resolver = mContext.getContentResolver();
for (String path : ScheduleContract.USER_DATA_RELATED_PATHS) {
Uri uri = ScheduleContract.BASE_CONTENT_URI.buildUpon().appendPath(path).build();
resolver.notifyChange(uri, null);
}
mContext.sendBroadcast(ScheduleWidgetProvider.getRefreshBroadcastIntent(mContext, false));
}
return dataChanged;
}
开发者ID:gdg-bh,项目名称:AppDevFestSudeste2015,代码行数:60,代码来源:AbstractUserDataSyncHelper.java
示例8: onHandleIntent
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
@Override
protected void onHandleIntent(@Nullable Intent intent) {
if (intent == null) {
return;
}
String accountName = intent.getStringExtra(KEY_ACCOUNT_NAME);
if (accountName == null) {
return;
}
// TODO: It would be better if the default value for the account in
// the non-signed in case was not "null". When that is modified update this.
String previousAccountName = null;
// The task is to upgrade all user data that was associated with a non-logged in user
// and update it to the signed in user.
ArrayList<ContentProviderOperation> ops = new ArrayList<>(3);
//noinspection ConstantConditions
ops.add(ContentProviderOperation
.newUpdate(ScheduleContractHelper.addOverrideAccountUpdateAllowed(
MySchedule.buildMyScheduleUri(previousAccountName)))
.withValue(MySchedule.MY_SCHEDULE_ACCOUNT_NAME, accountName)
.build());
//noinspection ConstantConditions
ops.add(ContentProviderOperation
.newUpdate(ScheduleContractHelper.addOverrideAccountUpdateAllowed(
MyFeedbackSubmitted.buildMyFeedbackSubmittedUri(previousAccountName)))
.withValue(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME, accountName)
.build());
// Delete any reservations (should be none)
//noinspection ConstantConditions
ops.add(ContentProviderOperation
.newDelete(MyReservations.buildMyReservationUri(previousAccountName))
.withSelection(MyReservations.MY_RESERVATION_ACCOUNT_NAME, null)
.build());
try {
ContentProviderResult[] results =
getContentResolver().applyBatch(ScheduleContract.CONTENT_AUTHORITY, ops);
if (LogUtils.LOGGING_ENABLED) {
for (ContentProviderResult res : results) {
LOGV(TAG, "Result of update: uri: " + res.uri + " count: " + res.count);
}
}
} catch (RemoteException | OperationApplicationException e) {
LOGE(TAG, "Unexpected exception upgrading the user data to signed in user", e);
} finally {
// Note: Once we are done with the upgrade we trigger a manual sync for user data
SyncHelper.requestManualSync(true);
}
}
开发者ID:google,项目名称:iosched,代码行数:55,代码来源:PostSignInUpgradeService.java
示例9: update
import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
String accountName = getCurrentAccountName(uri, false);
Uri notifyUri = null;
LOGV(TAG, "update(uri=" + uri + ", values=" + values.toString()
+ ", account=" + accountName + ")");
boolean isAccountUpdateAllowed = ScheduleContractHelper.isAccountUpdateAllowed(uri);
final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
if (matchingUriEnum == ScheduleUriEnum.SEARCH_INDEX) {
// update the search index
ScheduleDatabase.updateSessionSearchIndex(db);
return 1;
}
final SelectionBuilder builder = buildSimpleSelection(uri);
if (matchingUriEnum == ScheduleUriEnum.SESSIONS_ID_RELATED) {
// update not supported
return 0;
}
if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
if (!isAccountUpdateAllowed) {
values.remove(MySchedule.MY_SCHEDULE_ACCOUNT_NAME);
}
builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
// Also notify session listeners.
notifyUri = Sessions.CONTENT_MY_SCHEDULE_URI;
}
if (matchingUriEnum == ScheduleUriEnum.MY_RESERVATIONS) {
values.remove(MyReservations.MY_RESERVATION_ACCOUNT_NAME);
builder.where(MyReservations.MY_RESERVATION_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
values.remove(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME);
builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
}
if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
if (!isAccountUpdateAllowed) {
values.remove(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME);
}
builder.where(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?",
accountName);
}
int retVal = builder.where(selection, selectionArgs).update(db, values);
if (retVal > 0) {
notifyChange(uri);
if (null != notifyUri) notifyChange(notifyUri);
}
return retVal;
}
开发者ID:google,项目名称:iosched,代码行数:55,代码来源:ScheduleProvider.java
注:本文中的com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论