mirror of
https://github.com/TrianguloY/UrlChecker.git
synced 2024-09-19 20:02:16 +02:00
replace hardcoded menu with resource
This commit is contained in:
parent
5bf88d6dc3
commit
56aa53fdba
@ -43,21 +43,20 @@ public class MainActivity extends Activity {
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
// option for the open in clipboard shortcut
|
||||
menu.add(R.string.shortcut_checkClipboard)
|
||||
.setIcon(AndroidUtils.getColoredDrawable(R.drawable.ic_clipboard, android.R.attr.textColorPrimary, this))
|
||||
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
|
||||
.setOnMenuItemClickListener(o -> {
|
||||
PackageUtils.startActivity(
|
||||
new Intent(this, ShortcutsActivity.class),
|
||||
R.string.toast_noApp,
|
||||
this
|
||||
);
|
||||
return true;
|
||||
});
|
||||
getMenuInflater().inflate(R.menu.activity_main, menu);
|
||||
AndroidUtils.fixMenuIconColor(menu.findItem(R.id.menu_checkClipboard), this);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == R.id.menu_checkClipboard) {
|
||||
// the open in clipboard shortcut
|
||||
PackageUtils.startActivity(new Intent(this, ShortcutsActivity.class), R.string.toast_noApp, this);
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
@ -7,7 +7,6 @@ import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.text.SpannableStringBuilder;
|
||||
@ -15,6 +14,7 @@ import android.text.style.ClickableSpan;
|
||||
import android.util.Log;
|
||||
import android.util.Patterns;
|
||||
import android.util.TypedValue;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
@ -206,19 +206,15 @@ public interface AndroidUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a drawable with a different color
|
||||
* Fixes the color of a MenuItem icon (colorFilter=textColorPrimary)
|
||||
*/
|
||||
static Drawable getColoredDrawable(int drawableId, int colorAttr, Context cntx) {
|
||||
// get drawable
|
||||
var drawable = cntx.getResources().getDrawable(drawableId).mutate();
|
||||
|
||||
static void fixMenuIconColor(MenuItem menuItem, Context cntx) {
|
||||
// get color
|
||||
var resolvedAttr = new TypedValue();
|
||||
cntx.getTheme().resolveAttribute(colorAttr, resolvedAttr, true);
|
||||
cntx.getTheme().resolveAttribute(android.R.attr.textColorPrimary, resolvedAttr, true);
|
||||
|
||||
// tint
|
||||
drawable.setColorFilter(cntx.getResources().getColor(resolvedAttr.resourceId), PorterDuff.Mode.SRC_IN);
|
||||
return drawable;
|
||||
menuItem.getIcon().setColorFilter(cntx.getResources().getColor(resolvedAttr.resourceId), PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
|
||||
/**
|
||||
|
8
app/src/main/res/menu/activity_main.xml
Normal file
8
app/src/main/res/menu/activity_main.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@+id/menu_checkClipboard"
|
||||
android:icon="@drawable/ic_clipboard"
|
||||
android:showAsAction="ifRoom|withText"
|
||||
android:title="@string/shortcut_checkClipboard" />
|
||||
</menu>
|
Loading…
Reference in New Issue
Block a user