use of android.support.annotation.StringRes in project gh4a by slapperwan.
the class EventViewHolder method formatEvent.
private CharSequence formatEvent(final IssueEvent event, final User user, int typefaceValue, boolean isPullRequestEvent) {
String textBase = null;
int textResId = 0;
switch(event.event()) {
case Closed:
if (isPullRequestEvent) {
textResId = event.commitId() != null ? R.string.pull_request_event_closed_with_commit : R.string.pull_request_event_closed;
} else {
textResId = event.commitId() != null ? R.string.issue_event_closed_with_commit : R.string.issue_event_closed;
}
break;
case Reopened:
textResId = isPullRequestEvent ? R.string.pull_request_event_reopened : R.string.issue_event_reopened;
break;
case Merged:
textResId = event.commitId() != null ? R.string.pull_request_event_merged_with_commit : R.string.pull_request_event_merged;
break;
case Referenced:
if (isPullRequestEvent) {
textResId = event.commitId() != null ? R.string.pull_request_event_referenced_with_commit : R.string.pull_request_event_referenced;
} else {
textResId = event.commitId() != null ? R.string.issue_event_referenced_with_commit : R.string.issue_event_referenced;
}
break;
case Assigned:
case Unassigned:
{
boolean isAssign = event.event() == IssueEventType.Assigned;
String actorLogin = user != null ? user.login() : null;
String assigneeLogin = event.assignee() != null ? event.assignee().login() : null;
if (assigneeLogin != null && assigneeLogin.equals(actorLogin)) {
if (isAssign) {
textResId = isPullRequestEvent ? R.string.pull_request_event_assigned_self : R.string.issue_event_assigned_self;
} else {
textResId = R.string.issue_event_unassigned_self;
}
} else {
textResId = isAssign ? R.string.issue_event_assigned : R.string.issue_event_unassigned;
textBase = mContext.getString(textResId, ApiHelpers.getUserLogin(mContext, user), ApiHelpers.getUserLogin(mContext, event.assignee()));
}
break;
}
case Labeled:
textResId = R.string.issue_event_labeled;
break;
case Unlabeled:
textResId = R.string.issue_event_unlabeled;
break;
case Locked:
textResId = R.string.issue_event_locked;
break;
case Unlocked:
textResId = R.string.issue_event_unlocked;
break;
case Milestoned:
case Demilestoned:
textResId = event.event() == IssueEventType.Milestoned ? R.string.issue_event_milestoned : R.string.issue_event_demilestoned;
textBase = mContext.getString(textResId, ApiHelpers.getUserLogin(mContext, user), event.milestone().title());
break;
case Renamed:
{
Rename rename = event.rename();
textBase = mContext.getString(R.string.issue_event_renamed, ApiHelpers.getUserLogin(mContext, user), rename.from(), rename.to());
break;
}
case ReviewRequested:
case ReviewRequestRemoved:
{
final String reviewerNames;
if (event.requestedReviewers() != null) {
ArrayList<String> reviewers = new ArrayList<>();
for (User reviewer : event.requestedReviewers()) {
reviewers.add(ApiHelpers.getUserLogin(mContext, reviewer));
}
reviewerNames = TextUtils.join(", ", reviewers);
} else {
reviewerNames = ApiHelpers.getUserLogin(mContext, event.requestedReviewer());
}
@StringRes int stringResId = event.event() == IssueEventType.ReviewRequested ? R.string.pull_request_event_review_requested : R.string.pull_request_event_review_request_removed;
textBase = mContext.getString(stringResId, ApiHelpers.getUserLogin(mContext, event.reviewRequester()), reviewerNames);
break;
}
case HeadRefDeleted:
textResId = R.string.pull_request_event_ref_deleted;
break;
case HeadRefRestored:
textResId = R.string.pull_request_event_ref_restored;
break;
default:
return null;
}
if (textBase == null) {
textBase = mContext.getString(textResId, ApiHelpers.getUserLogin(mContext, user));
}
SpannableStringBuilder text = StringUtils.applyBoldTags(textBase, typefaceValue);
int pos = text.toString().indexOf("[commit]");
if (event.commitId() != null && pos >= 0) {
text.replace(pos, pos + 8, event.commitId().substring(0, 7));
text.setSpan(new IntentSpan(mContext, context -> {
// The commit might be in a different repo. The API doesn't provide
// that information directly, so get it indirectly by parsing the URL
String repoOwner = mRepoOwner;
String repoName = mRepoName;
String url = event.commitUrl();
if (url != null) {
Matcher matcher = COMMIT_URL_REPO_NAME_AND_OWNER_PATTERN.matcher(url);
if (matcher.find()) {
repoOwner = matcher.group(1);
repoName = matcher.group(2);
}
}
return CommitActivity.makeIntent(context, repoOwner, repoName, event.commitId());
}), pos, pos + 7, 0);
text.setSpan(new TypefaceSpan("monospace"), pos, pos + 7, 0);
}
pos = text.toString().indexOf("[label]");
Label label = event.label();
if (label != null && pos >= 0) {
int length = label.name().length();
text.replace(pos, pos + 7, label.name());
text.setSpan(new IssueLabelSpan(mContext, label, false), pos, pos + length, 0);
}
CharSequence time = event.createdAt() != null ? StringUtils.formatRelativeTime(mContext, event.createdAt(), true) : "";
pos = text.toString().indexOf("[time]");
if (pos >= 0) {
text.replace(pos, pos + 6, time);
if (event.createdAt() != null) {
text.setSpan(new TimestampToastSpan(event.createdAt()), pos, pos + time.length(), 0);
}
}
return text;
}
use of android.support.annotation.StringRes in project gh4a by slapperwan.
the class RxUtils method wrapWithProgressDialog.
public static <T> SingleTransformer<T, T> wrapWithProgressDialog(final FragmentActivity activity, @StringRes final int messageResId) {
return new SingleTransformer<T, T>() {
private ProgressDialogFragment mFragment;
@Override
public SingleSource<T> apply(Single<T> upstream) {
return upstream.doOnSubscribe(disposable -> showDialog()).doOnError(throwable -> hideDialog()).doOnSuccess(result -> hideDialog());
}
private void showDialog() {
Bundle args = new Bundle();
args.putInt("message_res", messageResId);
mFragment = new ProgressDialogFragment();
mFragment.setArguments(args);
mFragment.show(activity.getSupportFragmentManager(), "progressdialog");
}
private void hideDialog() {
if (mFragment.getActivity() != null) {
mFragment.dismissAllowingStateLoss();
}
mFragment = null;
}
};
}
use of android.support.annotation.StringRes in project butter-android by butterproject.
the class TVMediaGridActivity method onCreate.
@SuppressLint("MissingSuperCall")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.activity_movie_media_grid);
Bundle extras = getIntent().getExtras();
final Filter filter = extras.getParcelable(EXTRA_FILTER);
@StringRes int title = extras.getInt(EXTRA_TITLE);
final int providerId = extras.getInt(EXTRA_PROVIDER);
// add media fragment
getSupportFragmentManager().beginTransaction().replace(R.id.fragment, TVMediaGridFragment.newInstance(providerId, title, filter)).commit();
}
use of android.support.annotation.StringRes in project MaxLock by Maxr1998.
the class MaxLockPreferenceFragment method onStart.
@Override
public void onStart() {
super.onStart();
setTitle();
if (screen == Screen.MAIN) {
findPreference(Common.ABOUT).setTitle(getName() + " " + BuildConfig.VERSION_NAME);
if (prefs.getBoolean(Common.DONATED, false)) {
Preference donate = findPreference(Common.DONATE);
donate.setTitle(R.string.pref_donate_thanks_for_donation);
donate.setSummary(R.string.pref_donate_again_on_pro_summary);
Preference pro = findPreference(Common.ENABLE_PRO);
pro.setEnabled(false);
pro.setSummary("");
if (!prefs.getBoolean(Common.ENABLE_PRO, false)) {
prefs.edit().putBoolean(Common.ENABLE_PRO, true).putBoolean(Common.ENABLE_LOGGING, true).apply();
}
}
if (((SettingsActivity) getActivity()).isDeviceAdminActive()) {
Preference protectOrUninstall = findPreference(Common.UNINSTALL);
protectOrUninstall.setTitle(R.string.pref_uninstall);
protectOrUninstall.setSummary("");
}
}
// Show Snackbars if no password and/or packages set up
if (screen == Screen.MAIN && isFirstPane()) {
@StringRes int stringId = 0;
Fragment fragment = null;
if (prefs.getString(Common.LOCKING_TYPE, "").equals("")) {
stringId = R.string.sb_no_locking_type;
fragment = Screen.TYPE.getScreen();
} else if (!new File(Util.dataDir(getContext()) + "shared_prefs" + File.separator + Common.PREFS_APPS + ".xml").exists()) {
stringId = R.string.sb_no_locked_apps;
fragment = new AppListFragment();
}
if (stringId != 0 && fragment != null) {
final Fragment copyFragment = fragment;
snackCache = Snackbar.make(getActivity().findViewById(android.R.id.content), stringId, Snackbar.LENGTH_INDEFINITE).setAction(R.string.sb_action_setup, v -> launchFragment(this, copyFragment, true));
snackCache.show();
}
}
}
use of android.support.annotation.StringRes in project MaxLock by Maxr1998.
the class AppListFragment method filterIcon.
@SuppressWarnings("deprecation")
private void filterIcon(MenuItem item) {
if (prefs == null) {
return;
}
String filter = prefs.getString("app_list_filter", "");
Drawable icon;
@StringRes int filterTypeString;
switch(filter) {
case "@*activated*":
icon = getResources().getDrawable(R.drawable.ic_checked_24dp);
filterTypeString = R.string.content_description_applist_filter_locked;
break;
case "@*deactivated*":
icon = getResources().getDrawable(R.drawable.ic_unchecked_24dp);
filterTypeString = R.string.content_description_applist_filter_unlocked;
break;
default:
icon = getResources().getDrawable(R.drawable.ic_apps_24dp);
filterTypeString = R.string.content_description_applist_filter_all_apps;
break;
}
item.setIcon(icon);
item.setTitle(getString(R.string.content_description_applist_filter, getString(filterTypeString)));
}
Aggregations