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
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
// option for the open in clipboard shortcut
|
getMenuInflater().inflate(R.menu.activity_main, menu);
|
||||||
menu.add(R.string.shortcut_checkClipboard)
|
AndroidUtils.fixMenuIconColor(menu.findItem(R.id.menu_checkClipboard), this);
|
||||||
.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;
|
|
||||||
});
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
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
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
@ -7,7 +7,6 @@ import android.content.ClipboardManager;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
@ -15,6 +14,7 @@ import android.text.style.ClickableSpan;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Patterns;
|
import android.util.Patterns;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
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) {
|
static void fixMenuIconColor(MenuItem menuItem, Context cntx) {
|
||||||
// get drawable
|
|
||||||
var drawable = cntx.getResources().getDrawable(drawableId).mutate();
|
|
||||||
|
|
||||||
// get color
|
// get color
|
||||||
var resolvedAttr = new TypedValue();
|
var resolvedAttr = new TypedValue();
|
||||||
cntx.getTheme().resolveAttribute(colorAttr, resolvedAttr, true);
|
cntx.getTheme().resolveAttribute(android.R.attr.textColorPrimary, resolvedAttr, true);
|
||||||
|
|
||||||
// tint
|
// tint
|
||||||
drawable.setColorFilter(cntx.getResources().getColor(resolvedAttr.resourceId), PorterDuff.Mode.SRC_IN);
|
menuItem.getIcon().setColorFilter(cntx.getResources().getColor(resolvedAttr.resourceId), PorterDuff.Mode.SRC_IN);
|
||||||
return drawable;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
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