use of android.support.annotation.NonNull in project SeriesGuide by UweTrottmann.
the class RateDialogFragment method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder;
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@SuppressLint("InflateParams") View layout = inflater.inflate(R.layout.dialog_trakt_rate, null);
unbinder = ButterKnife.bind(this, layout);
for (int i = 0; i < ratingButtons.size(); i++) {
Button ratingButton = ratingButtons.get(i);
ratingButton.setText(TraktTools.buildUserRatingString(getContext(), i + 1));
}
// rating buttons from 1 (worst) to 10 (best)
ratingButtons.get(0).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.WEAKSAUCE);
}
});
ratingButtons.get(1).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.TERRIBLE);
}
});
ratingButtons.get(2).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.BAD);
}
});
ratingButtons.get(3).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.POOR);
}
});
ratingButtons.get(4).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.MEH);
}
});
ratingButtons.get(5).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.FAIR);
}
});
ratingButtons.get(6).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.GOOD);
}
});
ratingButtons.get(7).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.GREAT);
}
});
ratingButtons.get(8).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.SUPERB);
}
});
ratingButtons.get(9).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rate(Rating.TOTALLYNINJA);
}
});
builder = new AlertDialog.Builder(getActivity());
builder.setView(layout);
return builder.create();
}
use of android.support.annotation.NonNull in project SeriesGuide by UweTrottmann.
the class RemoveListItemTask method buildListItemLists.
@NonNull
private static List<SgList> buildListItemLists(String listId, String listItemId) {
List<SgList> lists = new ArrayList<>(1);
SgList list = new SgList();
list.setListId(listId);
lists.add(list);
List<SgListItem> items = new ArrayList<>(1);
list.setListItems(items);
SgListItem item = new SgListItem();
items.add(item);
item.setListItemId(listItemId);
return lists;
}
use of android.support.annotation.NonNull in project SeriesGuide by UweTrottmann.
the class ReorderListsTask method buildListsList.
@NonNull
private List<SgList> buildListsList(List<String> listsToChange) {
List<SgList> lists = new ArrayList<>(listsToChange.size());
for (int position = 0; position < listsToChange.size(); position++) {
String listId = listsToChange.get(position);
SgList list = new SgList();
list.setListId(listId);
list.setOrder(position);
lists.add(list);
}
return lists;
}
use of android.support.annotation.NonNull in project CircleDemo by Naoki2015.
the class PraiseListView method setClickableSpan.
@NonNull
private SpannableString setClickableSpan(String textStr, final int position) {
SpannableString subjectSpanText = new SpannableString(textStr);
subjectSpanText.setSpan(new SpannableClickable(itemColor) {
@Override
public void onClick(View widget) {
if (onItemClickListener != null) {
onItemClickListener.onClick(position);
}
}
}, 0, subjectSpanText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return subjectSpanText;
}
use of android.support.annotation.NonNull in project CoCoin by Nightonke.
the class AccountBookTodayViewActivity method sync.
private void sync() {
if (!SettingManager.getInstance().getLoggenOn()) {
CoCoinUtil.showToast(mContext, R.string.login_tip);
} else {
syncSuccessNumber = 0;
syncFailedNumber = 0;
syncQueryDialog = new MaterialDialog.Builder(this).title(R.string.sync_querying_title).content(R.string.sync_querying_content).negativeText(R.string.cancel).progress(true, 0).onAny(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.NEGATIVE) {
}
}
}).show();
final User user = BmobUser.getCurrentUser(CoCoinApplication.getAppContext(), User.class);
final MyQuery myQuery = new MyQuery();
myQuery.setTask(++TaskManager.QUERY_UPDATE_TASK);
myQuery.query = new BmobQuery<>();
myQuery.query.addWhereEqualTo("userId", user.getObjectId());
myQuery.query.setLimit(1);
myQuery.query.findObjects(CoCoinApplication.getAppContext(), new FindListener<UploadInfo>() {
@Override
public void onSuccess(List<UploadInfo> object) {
if (myQuery.getTask() != TaskManager.QUERY_UPDATE_TASK)
return;
else {
syncQueryDialog.dismiss();
cloudRecordNumber = 0;
Calendar cal = null;
if (object.size() == 0) {
} else {
cloudRecordNumber = object.get(0).getRecordNumber();
cloudOldDatabaseUrl = object.get(0).getDatabaseUrl();
cloudOldDatabaseFileName = object.get(0).getFileName();
uploadObjectId = object.get(0).getObjectId();
cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
cal.setTime(sdf.parse(object.get(0).getUpdatedAt()));
} catch (ParseException p) {
}
}
String content = CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_cloud_record_0) + cloudRecordNumber + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_cloud_record_1) + (cal == null ? CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_cloud_time_2) : CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_cloud_time_0) + CoCoinUtil.GetCalendarString(CoCoinApplication.getAppContext(), cal) + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_cloud_time_1)) + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_mobile_record_0) + RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size() + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_mobile_record_1) + (SettingManager.getInstance().getRecentlySyncTime() == null ? CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_mobile_time_2) : CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_mobile_time_0) + CoCoinUtil.GetCalendarString(CoCoinApplication.getAppContext(), SettingManager.getInstance().getRecentlySyncTime()) + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_info_mobile_time_1)) + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sync_choose_content);
syncChooseDialog = new MaterialDialog.Builder(mContext).title(R.string.sync_choose_title).content(content).positiveText(R.string.sync_to_cloud).negativeText(R.string.sync_to_mobile).neutralText(R.string.cancel).onAny(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
syncChooseDialog.dismiss();
if (which == DialogAction.POSITIVE) {
// sync to cloud
String subContent = "";
if (RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size() == 0) {
subContent = CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.mobile_record_empty);
new MaterialDialog.Builder(mContext).title(R.string.sync).content(subContent).positiveText(R.string.ok_1).show();
return;
} else {
subContent = CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sure_to_cloud_0) + RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size() + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sure_to_cloud_1);
}
new MaterialDialog.Builder(mContext).title(R.string.sync).content(subContent).positiveText(R.string.ok_1).negativeText(R.string.cancel).onAny(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
syncProgressDialog = new MaterialDialog.Builder(mContext).title(R.string.syncing).content(CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.uploading_0) + "1" + CoCoinUtil.GetString(mContext, R.string.uploading_1)).progress(false, RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size(), true).cancelable(false).show();
final String databasePath = CoCoinUtil.GetRecordDatabasePath(CoCoinApplication.getAppContext());
// final BmobFile bmobFile = new BmobFile(new File(databasePath));
// bmobFile.uploadblock(mContext, new UploadFileListener() {
//
// @Override
// public void onSuccess() {
// if (BuildConfig.DEBUG) {
// Log.d("CoCoin", "Upload successfully fileName: " + databasePath);
// Log.d("CoCoin", "Upload successfully url: " + bmobFile.getFileUrl(mContext));
// }
// // the new database is uploaded successfully
// // delete the old database(if there is)
// if (cloudOldDatabaseUrl != null) {
// deleteOldDatabaseOnCloud(cloudOldDatabaseUrl);
// }
// // update the UploadInfo record for the new url
// if (uploadObjectId == null) {
// // first time
// UploadInfo uploadInfo = new UploadInfo();
// uploadInfo.setUserId(user.getObjectId());
// uploadInfo.setRecordNumber(RecordManager.getInstance(mContext).RECORDS.size());
// uploadInfo.setDatabaseUrl(bmobFile.getFileUrl(mContext));
// uploadInfo.save(mContext, new SaveListener() {
// @Override
// public void onSuccess() {
// // upload successfully
// syncProgressDialog.dismiss();
// new MaterialDialog.Builder(mContext)
// .title(R.string.sync_completely_title)
// .content(RecordManager.getInstance(mContext).RECORDS.size() + CoCoinUtil.GetString(mContext, R.string.uploading_fail_1))
// .positiveText(R.string.ok_1)
// .show();
// }
// @Override
// public void onFailure(int code, String arg0) {
// // 添加失败
// }
// });
// } else {
// UploadInfo uploadInfo = new UploadInfo();
// uploadInfo.setUserId(user.getObjectId());
// uploadInfo.setRecordNumber(RecordManager.getInstance(mContext).RECORDS.size());
// uploadInfo.setDatabaseUrl(bmobFile.getFileUrl(mContext));
// uploadInfo.update(mContext, uploadObjectId, new UpdateListener() {
// @Override
// public void onSuccess() {
// // upload successfully
// syncProgressDialog.dismiss();
// new MaterialDialog.Builder(mContext)
// .title(R.string.sync_completely_title)
// .content(RecordManager.getInstance(mContext).RECORDS.size() + CoCoinUtil.GetString(mContext, R.string.uploading_fail_1))
// .positiveText(R.string.ok_1)
// .show();
// }
// @Override
// public void onFailure(int code, String msg) {
// // upload failed
// Log.i("bmob","更新失败:"+msg);
// }
// });
// }
// }
//
// @Override
// public void onProgress(Integer value) {
// syncProgressDialog.setProgress(value);
// }
//
// @Override
// public void onFailure(int code, String msg) {
// // upload failed
// if (BuildConfig.DEBUG) Log.d("CoCoin", "Upload database failed " + code + " " + msg);
// syncProgressDialog.dismiss();
// new MaterialDialog.Builder(mContext)
// .title(R.string.sync_failed)
// .content(R.string.uploading_fail_0)
// .positiveText(R.string.ok_1)
// .show();
// }
// });
BmobProFile.getInstance(CoCoinApplication.getAppContext()).upload(databasePath, new UploadListener() {
@Override
public void onSuccess(String fileName, String url, BmobFile file) {
CoCoinUtil.deleteBmobUploadCach(CoCoinApplication.getAppContext());
if (BuildConfig.DEBUG) {
Log.d("CoCoin", "Upload successfully fileName: " + fileName);
Log.d("CoCoin", "Upload successfully url: " + url);
}
// delete the old database(if there is)
if (cloudOldDatabaseFileName != null) {
deleteOldDatabaseOnCloud(cloudOldDatabaseFileName);
}
// update the UploadInfo record for the new url
UploadInfo uploadInfo = new UploadInfo();
uploadInfo.setUserId(user.getObjectId());
uploadInfo.setRecordNumber(RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size());
uploadInfo.setDatabaseUrl(file.getFileUrl(CoCoinApplication.getAppContext()));
uploadInfo.setFileName(fileName);
if (uploadObjectId == null) {
// insert
uploadInfo.save(CoCoinApplication.getAppContext(), new SaveListener() {
@Override
public void onSuccess() {
// upload successfully
syncProgressDialog.dismiss();
new MaterialDialog.Builder(mContext).title(R.string.sync_completely_title).content(RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size() + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.uploading_fail_1)).positiveText(R.string.ok_1).cancelable(false).show();
}
@Override
public void onFailure(int code, String arg0) {
uploadFailed(code, arg0);
}
});
} else {
// update
uploadInfo.update(CoCoinApplication.getAppContext(), uploadObjectId, new UpdateListener() {
@Override
public void onSuccess() {
// upload successfully
syncProgressDialog.dismiss();
new MaterialDialog.Builder(mContext).title(R.string.sync_completely_title).content(RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size() + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.uploading_fail_1)).positiveText(R.string.ok_1).cancelable(false).show();
}
@Override
public void onFailure(int code, String msg) {
uploadFailed(code, msg);
}
});
}
}
@Override
public void onProgress(int progress) {
syncProgressDialog.setProgress((int) (progress * 1.0 / 100 * RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size()));
}
@Override
public void onError(int statuscode, String errormsg) {
// upload failed
uploadFailed(statuscode, errormsg);
}
});
}
}
}).show();
} else if (which == DialogAction.NEGATIVE) {
// sync to mobile
String subContent = "";
if (cloudRecordNumber == 0) {
subContent = CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.cloud_record_empty);
new MaterialDialog.Builder(mContext).title(R.string.sync).content(subContent).positiveText(R.string.ok_1).show();
return;
} else {
subContent = CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sure_to_mobile_0) + cloudRecordNumber + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.sure_to_mobile_1);
}
new MaterialDialog.Builder(mContext).title(R.string.sync).content(subContent).positiveText(R.string.ok_1).negativeText(R.string.cancel).onAny(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
syncProgressDialog = new MaterialDialog.Builder(mContext).title(R.string.syncing).content(CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.downloading_0) + "1" + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.downloading_1)).progress(false, cloudRecordNumber, true).cancelable(false).show();
// download the database file to mobile
BmobProFile.getInstance(CoCoinApplication.getAppContext()).download(cloudOldDatabaseFileName, new DownloadListener() {
@Override
public void onSuccess(String fullPath) {
// copy the new database to mobile
try {
Log.d("CoCoin", "Download successfully " + fullPath);
syncProgressDialog.setContent(R.string.sync_completely_content);
byte[] buffer = new byte[1024];
File file = new File(fullPath);
InputStream inputStream = new FileInputStream(file);
String outFileNameString = CoCoinUtil.GetRecordDatabasePath(CoCoinApplication.getAppContext());
OutputStream outputStream = new FileOutputStream(outFileNameString);
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
Log.d("CoCoin", "Download successfully copy completely");
outputStream.flush();
outputStream.close();
inputStream.close();
file.delete();
Log.d("CoCoin", "Download successfully delete completely");
// refresh data
RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.clear();
RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS = null;
RecordManager.getInstance(CoCoinApplication.getAppContext());
todayModeAdapter.notifyDataSetChanged();
Log.d("CoCoin", "Download successfully refresh completely");
syncProgressDialog.dismiss();
new MaterialDialog.Builder(mContext).title(R.string.sync_completely_title).content(cloudRecordNumber + CoCoinUtil.GetString(CoCoinApplication.getAppContext(), R.string.downloading_fail_1)).positiveText(R.string.ok_1).cancelable(false).show();
} catch (IOException i) {
i.printStackTrace();
}
}
@Override
public void onProgress(String localPath, int percent) {
syncProgressDialog.setProgress((int) (((float) percent / 100) * RecordManager.getInstance(CoCoinApplication.getAppContext()).RECORDS.size()));
}
@Override
public void onError(int statuscode, String errormsg) {
downloadFailed(statuscode, errormsg);
}
});
}
}
}).show();
} else {
}
}
}).show();
}
}
@Override
public void onError(int code, String msg) {
syncQueryDialog.dismiss();
if (BuildConfig.DEBUG)
Log.d("CoCoin", "Query: " + msg);
if (syncQueryDialog != null)
syncQueryDialog.dismiss();
new MaterialDialog.Builder(mContext).title(R.string.sync_querying_fail_title).content(R.string.sync_querying_fail_content).positiveText(R.string.ok_1).show();
}
});
}
}
Aggregations