use of android.support.v4.content.ContextCompat.getDrawable in project android_packages_apps_Dialer by LineageOS.
the class ContactListItemView method setCallToAction.
/**
* Sets whether the call to action is shown. For the {@link CallToAction} to be shown, it must be
* supported as well.
*
* @param action {@link CallToAction} you want to display (if it's supported).
* @param listener Listener to notify when the call to action is clicked.
* @param position The position in the adapter of the call to action.
*/
public void setCallToAction(@CallToAction int action, Listener listener, int position) {
mCallToAction = action;
mPosition = position;
Drawable drawable;
int description;
OnClickListener onClickListener;
if (action == CALL_AND_SHARE) {
drawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_phone_attach);
drawable.setAutoMirrored(true);
description = R.string.description_search_call_and_share;
onClickListener = v -> listener.onCallAndShareIconClicked(position);
} else if (action == VIDEO && mSupportVideoCall) {
drawable = ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_videocam_vd_theme_24);
drawable.setAutoMirrored(true);
description = R.string.description_search_video_call;
onClickListener = v -> listener.onVideoCallIconClicked(position);
} else if (action == LIGHTBRINGER) {
CallIntentBuilder.increaseLightbringerCallButtonAppearInSearchCount();
drawable = ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_videocam_vd_theme_24);
drawable.setAutoMirrored(true);
description = R.string.description_search_video_call;
onClickListener = v -> listener.onLightbringerIconClicked(position);
} else {
mCallToActionView.setVisibility(View.GONE);
mCallToActionView.setOnClickListener(null);
return;
}
mCallToActionView.setContentDescription(getContext().getString(description));
mCallToActionView.setOnClickListener(onClickListener);
mCallToActionView.setImageDrawable(drawable);
mCallToActionView.setVisibility(View.VISIBLE);
}
use of android.support.v4.content.ContextCompat.getDrawable in project FastHub by k0shk0sh.
the class PullStatusViewHolder method bind.
@Override
public void bind(@NonNull PullRequestStatusModel pullRequestStatusModel) {
if (pullRequestStatusModel.getState() != null) {
StatusStateType stateType = pullRequestStatusModel.getState();
stateImage.setImageResource(stateType.getDrawableRes());
String mergeableState = pullRequestStatusModel.getMergeableState();
boolean isBlocked = "blocked".equalsIgnoreCase(mergeableState);
if (stateType == StatusStateType.failure) {
stateImage.tintDrawableColor(red);
if (pullRequestStatusModel.isMergable()) {
status.setText(R.string.checks_failed);
} else {
status.setText(SpannableBuilder.builder().append(status.getResources().getString(R.string.checks_failed)).append("\n").append(status.getResources().getString(R.string.can_not_merge_pr)));
}
} else if (stateType == StatusStateType.pending) {
if (pullRequestStatusModel.isMergable()) {
stateImage.setImageResource(R.drawable.ic_check_small);
stateImage.tintDrawableColor(green);
status.setText(!isBlocked ? R.string.commit_can_be_merged : R.string.can_not_merge_pr);
} else {
stateImage.setImageResource(stateType.getDrawableRes());
stateImage.tintDrawableColor(indigo);
status.setText(R.string.checks_pending);
}
} else {
stateImage.tintDrawableColor(green);
if (pullRequestStatusModel.isMergable()) {
status.setText(!isBlocked ? R.string.commit_can_be_merged : R.string.can_not_merge_pr);
} else {
status.setText(R.string.checks_passed);
}
}
}
if (pullRequestStatusModel.getStatuses() != null && !pullRequestStatusModel.getStatuses().isEmpty()) {
SpannableBuilder builder = SpannableBuilder.builder();
Stream.of(pullRequestStatusModel.getStatuses()).filter(statusesModel -> statusesModel != null && statusesModel.getState() != null && statusesModel.getTargetUrl() != null).forEach(statusesModel -> {
if (!InputHelper.isEmpty(statusesModel.getTargetUrl())) {
builder.append(ContextCompat.getDrawable(statuses.getContext(), statusesModel.getState().getDrawableRes()));
builder.append(" ").append(statusesModel.getContext() != null ? statusesModel.getContext() + " " : "").url(statusesModel.getDescription(), v -> SchemeParser.launchUri(v.getContext(), statusesModel.getTargetUrl())).append("\n");
}
});
if (!InputHelper.isEmpty(builder)) {
statuses.setMovementMethod(LinkMovementMethod.getInstance());
statuses.setText(builder);
statuses.setVisibility(View.VISIBLE);
} else {
statuses.setVisibility(View.GONE);
}
} else {
statuses.setVisibility(View.GONE);
}
}
use of android.support.v4.content.ContextCompat.getDrawable in project Taskbar by farmerbb.
the class TaskbarService method drawTaskbar.
@SuppressLint("RtlHardcoded")
private void drawTaskbar() {
IconCache.getInstance(this).clearCache();
// Initialize layout params
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
U.setCachedRotation(windowManager.getDefaultDisplay().getRotation());
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, CompatUtils.getOverlayType(), WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, PixelFormat.TRANSLUCENT);
// Determine where to show the taskbar on screen
switch(U.getTaskbarPosition(this)) {
case "bottom_left":
layoutId = R.layout.taskbar_left;
params.gravity = Gravity.BOTTOM | Gravity.LEFT;
positionIsVertical = false;
break;
case "bottom_vertical_left":
layoutId = R.layout.taskbar_vertical;
params.gravity = Gravity.BOTTOM | Gravity.LEFT;
positionIsVertical = true;
break;
case "bottom_right":
layoutId = R.layout.taskbar_right;
params.gravity = Gravity.BOTTOM | Gravity.RIGHT;
positionIsVertical = false;
break;
case "bottom_vertical_right":
layoutId = R.layout.taskbar_vertical;
params.gravity = Gravity.BOTTOM | Gravity.RIGHT;
positionIsVertical = true;
break;
case "top_left":
layoutId = R.layout.taskbar_left;
params.gravity = Gravity.TOP | Gravity.LEFT;
positionIsVertical = false;
break;
case "top_vertical_left":
layoutId = R.layout.taskbar_top_vertical;
params.gravity = Gravity.TOP | Gravity.LEFT;
positionIsVertical = true;
break;
case "top_right":
layoutId = R.layout.taskbar_right;
params.gravity = Gravity.TOP | Gravity.RIGHT;
positionIsVertical = false;
break;
case "top_vertical_right":
layoutId = R.layout.taskbar_top_vertical;
params.gravity = Gravity.TOP | Gravity.RIGHT;
positionIsVertical = true;
break;
}
// Initialize views
SharedPreferences pref = U.getSharedPreferences(this);
boolean altButtonConfig = pref.getBoolean("alt_button_config", false);
layout = (LinearLayout) LayoutInflater.from(U.wrapContext(this)).inflate(layoutId, null);
taskbar = U.findViewById(layout, R.id.taskbar);
scrollView = U.findViewById(layout, R.id.taskbar_scrollview);
if (altButtonConfig) {
space = U.findViewById(layout, R.id.space_alt);
layout.findViewById(R.id.space).setVisibility(View.GONE);
} else {
space = U.findViewById(layout, R.id.space);
layout.findViewById(R.id.space_alt).setVisibility(View.GONE);
}
space.setOnClickListener(v -> toggleTaskbar());
startButton = U.findViewById(layout, R.id.start_button);
int padding;
if (pref.getBoolean("app_drawer_icon", false)) {
startButton.setImageDrawable(ContextCompat.getDrawable(this, U.isBlissOs(this) ? R.drawable.bliss : R.mipmap.ic_launcher));
padding = getResources().getDimensionPixelSize(R.dimen.app_drawer_icon_padding_alt);
} else {
startButton.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.all_apps_button_icon));
padding = getResources().getDimensionPixelSize(R.dimen.app_drawer_icon_padding);
}
startButton.setPadding(padding, padding, padding, padding);
startButton.setOnClickListener(ocl);
startButton.setOnLongClickListener(view -> {
openContextMenu();
return true;
});
startButton.setOnGenericMotionListener((view, motionEvent) -> {
if (motionEvent.getAction() == MotionEvent.ACTION_BUTTON_PRESS && motionEvent.getButtonState() == MotionEvent.BUTTON_SECONDARY)
openContextMenu();
return false;
});
refreshInterval = (int) (Float.parseFloat(pref.getString("refresh_frequency", "2")) * 1000);
if (refreshInterval == 0)
refreshInterval = 100;
sortOrder = pref.getString("sort_order", "false");
runningAppsOnly = pref.getString("recents_amount", "past_day").equals("running_apps_only");
switch(pref.getString("recents_amount", "past_day")) {
case "past_day":
searchInterval = System.currentTimeMillis() - AlarmManager.INTERVAL_DAY;
break;
case "app_start":
long appStartTime = pref.getLong("time_of_service_start", System.currentTimeMillis());
long deviceStartTime = System.currentTimeMillis() - SystemClock.elapsedRealtime();
searchInterval = deviceStartTime > appStartTime ? deviceStartTime : appStartTime;
break;
case "show_all":
searchInterval = 0;
break;
}
Intent intent = new Intent("com.farmerbb.taskbar.HIDE_START_MENU");
LocalBroadcastManager.getInstance(TaskbarService.this).sendBroadcast(intent);
if (altButtonConfig) {
button = U.findViewById(layout, R.id.hide_taskbar_button_alt);
layout.findViewById(R.id.hide_taskbar_button).setVisibility(View.GONE);
} else {
button = U.findViewById(layout, R.id.hide_taskbar_button);
layout.findViewById(R.id.hide_taskbar_button_alt).setVisibility(View.GONE);
}
try {
button.setTypeface(Typeface.createFromFile("/system/fonts/Roboto-Regular.ttf"));
} catch (RuntimeException e) {
/* Gracefully fail */
}
updateButton(false);
button.setOnClickListener(v -> toggleTaskbar());
LinearLayout buttonLayout = U.findViewById(layout, altButtonConfig ? R.id.hide_taskbar_button_layout_alt : R.id.hide_taskbar_button_layout);
if (buttonLayout != null)
buttonLayout.setOnClickListener(v -> toggleTaskbar());
LinearLayout buttonLayoutToHide = U.findViewById(layout, altButtonConfig ? R.id.hide_taskbar_button_layout : R.id.hide_taskbar_button_layout_alt);
if (buttonLayoutToHide != null)
buttonLayoutToHide.setVisibility(View.GONE);
int backgroundTint = U.getBackgroundTint(this);
int accentColor = U.getAccentColor(this);
dashboardButton = U.findViewById(layout, R.id.dashboard_button);
navbarButtons = U.findViewById(layout, R.id.navbar_buttons);
dashboardEnabled = pref.getBoolean("dashboard", false);
if (dashboardEnabled) {
layout.findViewById(R.id.square1).setBackgroundColor(accentColor);
layout.findViewById(R.id.square2).setBackgroundColor(accentColor);
layout.findViewById(R.id.square3).setBackgroundColor(accentColor);
layout.findViewById(R.id.square4).setBackgroundColor(accentColor);
layout.findViewById(R.id.square5).setBackgroundColor(accentColor);
layout.findViewById(R.id.square6).setBackgroundColor(accentColor);
dashboardButton.setOnClickListener(v -> LocalBroadcastManager.getInstance(TaskbarService.this).sendBroadcast(new Intent("com.farmerbb.taskbar.TOGGLE_DASHBOARD")));
} else
dashboardButton.setVisibility(View.GONE);
if (pref.getBoolean("button_back", false)) {
navbarButtonsEnabled = true;
ImageView backButton = U.findViewById(layout, R.id.button_back);
backButton.setVisibility(View.VISIBLE);
backButton.setOnClickListener(v -> {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_BACK);
if (U.shouldCollapse(this, false))
hideTaskbar(true);
});
backButton.setOnLongClickListener(v -> {
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.showInputMethodPicker();
if (U.shouldCollapse(this, false))
hideTaskbar(true);
return true;
});
backButton.setOnGenericMotionListener((view13, motionEvent) -> {
if (motionEvent.getAction() == MotionEvent.ACTION_BUTTON_PRESS && motionEvent.getButtonState() == MotionEvent.BUTTON_SECONDARY) {
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.showInputMethodPicker();
if (U.shouldCollapse(this, false))
hideTaskbar(true);
}
return true;
});
}
if (pref.getBoolean("button_home", false)) {
navbarButtonsEnabled = true;
ImageView homeButton = U.findViewById(layout, R.id.button_home);
homeButton.setVisibility(View.VISIBLE);
homeButton.setOnClickListener(v -> {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_HOME);
if (U.shouldCollapse(this, false))
hideTaskbar(true);
});
homeButton.setOnLongClickListener(v -> {
Intent voiceSearchIntent = new Intent(RecognizerIntent.ACTION_VOICE_SEARCH_HANDS_FREE);
voiceSearchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(voiceSearchIntent);
} catch (ActivityNotFoundException e) {
/* Gracefully fail */
}
if (U.shouldCollapse(this, false))
hideTaskbar(true);
return true;
});
homeButton.setOnGenericMotionListener((view13, motionEvent) -> {
if (motionEvent.getAction() == MotionEvent.ACTION_BUTTON_PRESS && motionEvent.getButtonState() == MotionEvent.BUTTON_SECONDARY) {
Intent voiceSearchIntent = new Intent(RecognizerIntent.ACTION_VOICE_SEARCH_HANDS_FREE);
voiceSearchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(voiceSearchIntent);
} catch (ActivityNotFoundException e) {
/* Gracefully fail */
}
if (U.shouldCollapse(this, false))
hideTaskbar(true);
}
return true;
});
}
if (pref.getBoolean("button_recents", false)) {
navbarButtonsEnabled = true;
ImageView recentsButton = U.findViewById(layout, R.id.button_recents);
recentsButton.setVisibility(View.VISIBLE);
recentsButton.setOnClickListener(v -> {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_RECENTS);
if (U.shouldCollapse(this, false))
hideTaskbar(true);
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
recentsButton.setOnLongClickListener(v -> {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN);
if (U.shouldCollapse(this, false))
hideTaskbar(true);
return true;
});
recentsButton.setOnGenericMotionListener((view13, motionEvent) -> {
if (motionEvent.getAction() == MotionEvent.ACTION_BUTTON_PRESS && motionEvent.getButtonState() == MotionEvent.BUTTON_SECONDARY) {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN);
if (U.shouldCollapse(this, false))
hideTaskbar(true);
}
return true;
});
}
}
if (!navbarButtonsEnabled)
navbarButtons.setVisibility(View.GONE);
layout.setBackgroundColor(backgroundTint);
layout.findViewById(R.id.divider).setBackgroundColor(accentColor);
button.setTextColor(accentColor);
if (isFirstStart && FreeformHackHelper.getInstance().isInFreeformWorkspace())
showTaskbar(false);
else if (!pref.getBoolean("collapsed", false) && pref.getBoolean("taskbar_active", false))
toggleTaskbar();
if (pref.getBoolean("auto_hide_navbar", false))
U.showHideNavigationBar(this, false);
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
lbm.unregisterReceiver(showReceiver);
lbm.unregisterReceiver(hideReceiver);
lbm.unregisterReceiver(tempShowReceiver);
lbm.unregisterReceiver(tempHideReceiver);
lbm.unregisterReceiver(startMenuAppearReceiver);
lbm.unregisterReceiver(startMenuDisappearReceiver);
lbm.registerReceiver(showReceiver, new IntentFilter("com.farmerbb.taskbar.SHOW_TASKBAR"));
lbm.registerReceiver(hideReceiver, new IntentFilter("com.farmerbb.taskbar.HIDE_TASKBAR"));
lbm.registerReceiver(tempShowReceiver, new IntentFilter("com.farmerbb.taskbar.TEMP_SHOW_TASKBAR"));
lbm.registerReceiver(tempHideReceiver, new IntentFilter("com.farmerbb.taskbar.TEMP_HIDE_TASKBAR"));
lbm.registerReceiver(startMenuAppearReceiver, new IntentFilter("com.farmerbb.taskbar.START_MENU_APPEARING"));
lbm.registerReceiver(startMenuDisappearReceiver, new IntentFilter("com.farmerbb.taskbar.START_MENU_DISAPPEARING"));
startRefreshingRecents();
windowManager.addView(layout, params);
isFirstStart = false;
}
use of android.support.v4.content.ContextCompat.getDrawable in project kiwix-android by kiwix.
the class KiwixMobileActivity method showRateDialog.
public void showRateDialog() {
String title = getString(R.string.rate_dialog_title);
String message = getString(R.string.rate_dialog_msg_1) + " " + getString(R.string.app_name) + getString(R.string.rate_dialog_msg_2);
String positive = getString(R.string.rate_dialog_positive);
String negative = getString(R.string.rate_dialog_negative);
String neutral = getString(R.string.rate_dialog_neutral);
new AlertDialog.Builder(this, dialogStyle()).setTitle(title).setMessage(message).setPositiveButton(positive, (dialog, id) -> {
visitCounterPref.setNoThanksState(true);
goToRateApp();
}).setNegativeButton(negative, (dialog, id) -> {
visitCounterPref.setNoThanksState(true);
}).setNeutralButton(neutral, (dialog, id) -> {
tempVisitCount = 0;
visitCounterPref.setCount(tempVisitCount);
}).setIcon(ContextCompat.getDrawable(this, R.mipmap.kiwix_icon)).show();
}
use of android.support.v4.content.ContextCompat.getDrawable in project chefly_android by chef-ly.
the class RecipeListActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recipe_list);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
// Progress bar for loading search
spinner = (ProgressBar) findViewById(R.id.progressBar1);
spinner.setVisibility(View.GONE);
spinner.setIndeterminateDrawable(ContextCompat.getDrawable(this, R.drawable.customprogressbar));
// Initialize recipe lists
serverRecipes = new RecipeList();
favoriteRecipes = new RecipeList();
// Start AsyncTaskLoader to get FavoriteRecipes
Credentials cred = CredentialsManager.getCredentials(getApplicationContext());
String t = cred.getAccessToken();
Log.d(TAG, "Token -> " + t);
if (t != null) {
RequestMethod requestPackageFavs = new RequestMethod();
requestPackageFavs.setEndPoint(urlFavsString);
requestPackageFavs.setMethod("GET");
requestPackageFavs.setHeader("Authorization", "Bearer " + t);
Bundle bundlefavs = new Bundle();
bundlefavs.putParcelable("requestPackage", requestPackageFavs);
getSupportLoaderManager().initLoader(FAVORTIESID, bundlefavs, this).forceLoad();
} else {
Toast.makeText(this, "Could not retrieve favorites, token is null", Toast.LENGTH_SHORT).show();
}
// PageViewer
pager = (ViewPager) findViewById(R.id.viewpager);
Bundle serv = new Bundle();
serv.putString("title", "Recipes");
serv.putString("pageNum", "1");
serv.putString("search", "");
server = new ListViewFragment();
server.setArguments(serv);
Bundle f = new Bundle();
f.putString("title", "Favorites");
f.putString("pageNum", "2");
f.putString("search", "");
favs = new ListViewFragment();
favs.setArguments(f);
ListViewFragment[] frags = { server, favs };
pager.setAdapter(new RecipeListPagerAdapter(getSupportFragmentManager(), frags));
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// Log.d(TAG, "Position -> " + position);
if (position == 1) {
favoritesHeader.setPaintFlags(favoritesHeader.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
recipesHeader.setPaintFlags(0);
// ingredientsHeader.setPaintFlags(0);
} else {
recipesHeader.setPaintFlags(recipesHeader.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
favoritesHeader.setPaintFlags(0);
// ingredientsHeader.setPaintFlags(0);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
// Header links
// ingredientsHeader = (TextView) findViewById(R.id.ingredientsHeader);
favoritesHeader = (TextView) findViewById(R.id.favortiesHeader);
recipesHeader = (TextView) findViewById(R.id.recipesHeader);
View.OnClickListener headerListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == favoritesHeader.getId()) {
favoritesHeader.setPaintFlags(favoritesHeader.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
recipesHeader.setPaintFlags(0);
// ingredientsHeader.setPaintFlags(0);
pager.setCurrentItem(1);
} else {
recipesHeader.setPaintFlags(recipesHeader.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
favoritesHeader.setPaintFlags(0);
// ingredientsHeader.setPaintFlags(0);
pager.setCurrentItem(0);
}
}
};
// ingredientsHeader.setOnClickListener(headerListener);
favoritesHeader.setOnClickListener(headerListener);
recipesHeader.setOnClickListener(headerListener);
// Tool/Appbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Navigation Drawer
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
Aggregations