mirror of
https://github.com/TrianguloY/UrlChecker.git
synced 2024-09-19 20:02:16 +02:00
configurable icon size
This commit is contained in:
parent
8d7e3cdaf4
commit
fee2edd49e
@ -0,0 +1,31 @@
|
|||||||
|
package com.trianguloy.urlchecker.modules.companions;
|
||||||
|
|
||||||
|
import com.trianguloy.urlchecker.R;
|
||||||
|
import com.trianguloy.urlchecker.utilities.Enums;
|
||||||
|
|
||||||
|
/** A generic size enum */
|
||||||
|
public enum Size implements Enums.IdEnum, Enums.StringEnum {
|
||||||
|
NONE(0, R.string.none),
|
||||||
|
SMALL(1, R.string.small),
|
||||||
|
NORMAL(2, R.string.normal),
|
||||||
|
BIG(3, R.string.big),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final int id;
|
||||||
|
private final int string;
|
||||||
|
|
||||||
|
Size(int id, int string) {
|
||||||
|
this.id = id;
|
||||||
|
this.string = string;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getStringResource() {
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
}
|
@ -19,6 +19,7 @@ import com.trianguloy.urlchecker.modules.companions.CTabs;
|
|||||||
import com.trianguloy.urlchecker.modules.companions.Flags;
|
import com.trianguloy.urlchecker.modules.companions.Flags;
|
||||||
import com.trianguloy.urlchecker.modules.companions.Incognito;
|
import com.trianguloy.urlchecker.modules.companions.Incognito;
|
||||||
import com.trianguloy.urlchecker.modules.companions.LastOpened;
|
import com.trianguloy.urlchecker.modules.companions.LastOpened;
|
||||||
|
import com.trianguloy.urlchecker.modules.companions.Size;
|
||||||
import com.trianguloy.urlchecker.url.UrlData;
|
import com.trianguloy.urlchecker.url.UrlData;
|
||||||
import com.trianguloy.urlchecker.utilities.generics.GenericPref;
|
import com.trianguloy.urlchecker.utilities.generics.GenericPref;
|
||||||
import com.trianguloy.urlchecker.utilities.methods.AndroidUtils;
|
import com.trianguloy.urlchecker.utilities.methods.AndroidUtils;
|
||||||
@ -60,6 +61,10 @@ public class OpenModule extends AModuleData {
|
|||||||
return new GenericPref.Bool("open_mergeCopy", false, cntx);
|
return new GenericPref.Bool("open_mergeCopy", false, cntx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static GenericPref.Enumeration<Size> ICONSIZE_PREF(Context cntx) {
|
||||||
|
return new GenericPref.Enumeration<>("open_iconsize", Size.NORMAL, Size.class, cntx);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return "open";
|
return "open";
|
||||||
@ -89,6 +94,7 @@ class OpenDialog extends AModuleDialog {
|
|||||||
private final GenericPref.Bool noReferrerPref;
|
private final GenericPref.Bool noReferrerPref;
|
||||||
private final GenericPref.Bool rejectedPref;
|
private final GenericPref.Bool rejectedPref;
|
||||||
private final GenericPref.Bool mergeCopyPref;
|
private final GenericPref.Bool mergeCopyPref;
|
||||||
|
private final GenericPref.Enumeration<Size> iconSizePref;
|
||||||
|
|
||||||
private final LastOpened lastOpened;
|
private final LastOpened lastOpened;
|
||||||
private final CTabs cTabs;
|
private final CTabs cTabs;
|
||||||
@ -114,6 +120,7 @@ class OpenDialog extends AModuleDialog {
|
|||||||
noReferrerPref = OpenModule.NOREFERRER_PREF(dialog);
|
noReferrerPref = OpenModule.NOREFERRER_PREF(dialog);
|
||||||
rejectedPref = OpenModule.REJECTED_PREF(dialog);
|
rejectedPref = OpenModule.REJECTED_PREF(dialog);
|
||||||
mergeCopyPref = OpenModule.MERGECOPY_PREF(dialog);
|
mergeCopyPref = OpenModule.MERGECOPY_PREF(dialog);
|
||||||
|
iconSizePref = OpenModule.ICONSIZE_PREF(dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -208,7 +215,7 @@ class OpenDialog extends AModuleDialog {
|
|||||||
var label = intentApps.get(0).getLabel(getActivity());
|
var label = intentApps.get(0).getLabel(getActivity());
|
||||||
// label = getActivity().getString(R.string.mOpen_with, label);
|
// label = getActivity().getString(R.string.mOpen_with, label);
|
||||||
btn_open.setText(label);
|
btn_open.setText(label);
|
||||||
btn_open.setCompoundDrawables(intentApps.get(0).getIcon(getActivity()), null, null, null);
|
btn_open.setCompoundDrawables(intentApps.get(0).getIcon(getActivity(), iconSizePref.get()), null, null, null);
|
||||||
AndroidUtils.setEnabled(openParent, true);
|
AndroidUtils.setEnabled(openParent, true);
|
||||||
btn_open.setEnabled(true);
|
btn_open.setEnabled(true);
|
||||||
menu.clear();
|
menu.clear();
|
||||||
@ -335,6 +342,7 @@ class OpenConfig extends AModuleConfig {
|
|||||||
OpenModule.REJECTED_PREF(getActivity()).attachToSwitch(views.findViewById(R.id.rejected));
|
OpenModule.REJECTED_PREF(getActivity()).attachToSwitch(views.findViewById(R.id.rejected));
|
||||||
LastOpened.PERDOMAIN_PREF(getActivity()).attachToSwitch(views.findViewById(R.id.perDomain));
|
LastOpened.PERDOMAIN_PREF(getActivity()).attachToSwitch(views.findViewById(R.id.perDomain));
|
||||||
OpenModule.MERGECOPY_PREF(getActivity()).attachToSwitch(views.findViewById(R.id.mergeCopy_pref));
|
OpenModule.MERGECOPY_PREF(getActivity()).attachToSwitch(views.findViewById(R.id.mergeCopy_pref));
|
||||||
|
OpenModule.ICONSIZE_PREF(getActivity()).attachToSpinner(views.findViewById(R.id.iconsize_pref), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@ import android.content.pm.ResolveInfo;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
|
import com.trianguloy.urlchecker.modules.companions.Size;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -67,11 +69,19 @@ public class IntentApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the drawable, cached */
|
/** Returns the drawable, cached */
|
||||||
public Drawable getIcon(Context activity) {
|
public Drawable getIcon(Context activity, Size size) {
|
||||||
|
var dim = switch (size) {
|
||||||
|
case NONE -> 0;
|
||||||
|
case SMALL -> 25;
|
||||||
|
case NORMAL -> 50;
|
||||||
|
case BIG -> 75;
|
||||||
|
};
|
||||||
|
if (dim == 0) return null;
|
||||||
|
|
||||||
var component = getComponent();
|
var component = getComponent();
|
||||||
if (!iconsCache.containsKey(component)) {
|
if (!iconsCache.containsKey(component)) {
|
||||||
var icon = resolveInfo.loadIcon(activity.getPackageManager());
|
var icon = resolveInfo.loadIcon(activity.getPackageManager());
|
||||||
icon.setBounds(0, 0, 50, 50);
|
icon.setBounds(0, 0, dim, dim);
|
||||||
iconsCache.put(component, icon);
|
iconsCache.put(component, icon);
|
||||||
}
|
}
|
||||||
return iconsCache.get(component);
|
return iconsCache.get(component);
|
||||||
|
@ -99,4 +99,24 @@
|
|||||||
android:layout_marginTop="@dimen/smallPadding"
|
android:layout_marginTop="@dimen/smallPadding"
|
||||||
android:text="@string/mOpen_rejected" />
|
android:text="@string/mOpen_rejected" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="@dimen/smallPadding"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:text="@string/mOpen_iconSize" />
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:id="@+id/iconsize_pref"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -139,6 +139,9 @@ Hope you find the app useful! And don't hesitate to suggest features, report bug
|
|||||||
<string name="back">Back</string>
|
<string name="back">Back</string>
|
||||||
<string name="dismiss">Dismiss</string>
|
<string name="dismiss">Dismiss</string>
|
||||||
<string name="noLinks">No links detected</string>
|
<string name="noLinks">No links detected</string>
|
||||||
|
<string name="small">Small</string>
|
||||||
|
<string name="normal">Normal</string>
|
||||||
|
<string name="big">Big</string>
|
||||||
<!--
|
<!--
|
||||||
json
|
json
|
||||||
-->
|
-->
|
||||||
@ -194,6 +197,7 @@ Note: if you edit the patterns, new built-in patterns from app updates will not
|
|||||||
<string name="mOpen_noReferrer">Hide the source app (referrer)</string>
|
<string name="mOpen_noReferrer">Hide the source app (referrer)</string>
|
||||||
<string name="mOpen_rejected">Hide app if URL was rejected (an app immediately requests to open the same URL it was opened with). Doesn\'t affect sharing.</string>
|
<string name="mOpen_rejected">Hide app if URL was rejected (an app immediately requests to open the same URL it was opened with). Doesn\'t affect sharing.</string>
|
||||||
<string name="mOpen_mergeCopy">Merge Copy and Share buttons (long press to copy)</string>
|
<string name="mOpen_mergeCopy">Merge Copy and Share buttons (long press to copy)</string>
|
||||||
|
<string name="mOpen_iconSize">Icon size</string>
|
||||||
<string name="mOpen_with">Open with %s</string>
|
<string name="mOpen_with">Open with %s</string>
|
||||||
<string name="mOpen_open">Open</string>
|
<string name="mOpen_open">Open</string>
|
||||||
<string name="mOpen_share">Share</string>
|
<string name="mOpen_share">Share</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user