diff --git a/app/src/main/java/eu/faircode/netguard/Rule.java b/app/src/main/java/eu/faircode/netguard/Rule.java index 062433ed..0958b375 100644 --- a/app/src/main/java/eu/faircode/netguard/Rule.java +++ b/app/src/main/java/eu/faircode/netguard/Rule.java @@ -3,6 +3,7 @@ package eu.faircode.netguard; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageInfo; +import android.graphics.drawable.Drawable; import java.util.ArrayList; import java.util.Collections; @@ -39,6 +40,10 @@ public class Rule implements Comparable { return listRules; } + public Drawable getIcon(Context context) { + return info.applicationInfo.loadIcon(context.getPackageManager()); + } + @Override public int compareTo(Rule other) { int i = this.name.compareTo(other.name); diff --git a/app/src/main/java/eu/faircode/netguard/RuleAdapter.java b/app/src/main/java/eu/faircode/netguard/RuleAdapter.java index b1741ed8..2d6151ef 100644 --- a/app/src/main/java/eu/faircode/netguard/RuleAdapter.java +++ b/app/src/main/java/eu/faircode/netguard/RuleAdapter.java @@ -11,6 +11,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.CompoundButton; +import android.widget.ImageView; import android.widget.TextView; import java.util.List; @@ -21,6 +22,8 @@ public class RuleAdapter extends RecyclerView.Adapter { private List listRule; public static class ViewHolder extends RecyclerView.ViewHolder { + public View view; + public ImageView ivIcon; public TextView tvName; public TextView tvPackage; public CheckBox cbWifi; @@ -28,6 +31,8 @@ public class RuleAdapter extends RecyclerView.Adapter { public ViewHolder(View itemView) { super(itemView); + this.view = itemView; + this.ivIcon = (ImageView) itemView.findViewById(R.id.ivIcon); this.tvName = (TextView) itemView.findViewById(R.id.tvName); this.tvPackage = (TextView) itemView.findViewById(R.id.tvPackage); this.cbWifi = (CheckBox) itemView.findViewById(R.id.cbWifi); @@ -49,6 +54,8 @@ public class RuleAdapter extends RecyclerView.Adapter { @Override public void onBindViewHolder(ViewHolder holder, int position) { final Rule rule = listRule.get(position); + + holder.ivIcon.setImageDrawable(rule.getIcon(holder.view.getContext())); holder.tvName.setText(rule.name); holder.tvPackage.setText(rule.info.packageName); diff --git a/app/src/main/res/drawable-hdpi/ic_network_cell_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_network_cell_black_24dp.png new file mode 100644 index 00000000..fdba6a9a Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_network_cell_black_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_network_wifi_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_network_wifi_black_24dp.png new file mode 100644 index 00000000..bb2383fc Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_network_wifi_black_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_signal_cellular_off_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_signal_cellular_off_black_24dp.png new file mode 100644 index 00000000..1fce6de6 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_signal_cellular_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_signal_wifi_off_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_signal_wifi_off_black_24dp.png new file mode 100644 index 00000000..71938268 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_signal_wifi_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_network_cell_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_network_cell_black_24dp.png new file mode 100644 index 00000000..b50d4a5c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_network_cell_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_network_wifi_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_network_wifi_black_24dp.png new file mode 100644 index 00000000..618b47ab Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_network_wifi_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_signal_cellular_off_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_signal_cellular_off_black_24dp.png new file mode 100644 index 00000000..d9721f58 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_signal_cellular_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_signal_wifi_off_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_signal_wifi_off_black_24dp.png new file mode 100644 index 00000000..a5f56879 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_signal_wifi_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_network_cell_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_network_cell_black_24dp.png new file mode 100644 index 00000000..3423a2fd Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_network_cell_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_network_wifi_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_network_wifi_black_24dp.png new file mode 100644 index 00000000..7234a0cc Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_network_wifi_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_signal_cellular_off_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_signal_cellular_off_black_24dp.png new file mode 100644 index 00000000..c11e5962 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_signal_cellular_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_signal_wifi_off_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_signal_wifi_off_black_24dp.png new file mode 100644 index 00000000..78b1b226 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_signal_wifi_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_network_cell_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_network_cell_black_24dp.png new file mode 100644 index 00000000..233d58d7 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_network_cell_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_network_wifi_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_network_wifi_black_24dp.png new file mode 100644 index 00000000..d031b3ed Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_network_wifi_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_signal_cellular_off_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_signal_cellular_off_black_24dp.png new file mode 100644 index 00000000..ce41f10c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_signal_cellular_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_signal_wifi_off_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_signal_wifi_off_black_24dp.png new file mode 100644 index 00000000..8aedc1db Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_signal_wifi_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_network_cell_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_network_cell_black_24dp.png new file mode 100644 index 00000000..10a2595d Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_network_cell_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_network_wifi_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_network_wifi_black_24dp.png new file mode 100644 index 00000000..c0780f31 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_network_wifi_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_signal_cellular_off_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_signal_cellular_off_black_24dp.png new file mode 100644 index 00000000..ce05a60b Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_signal_cellular_off_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_signal_wifi_off_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_signal_wifi_off_black_24dp.png new file mode 100644 index 00000000..51b56c28 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_signal_wifi_off_black_24dp.png differ diff --git a/app/src/main/res/drawable/other.xml b/app/src/main/res/drawable/other.xml new file mode 100644 index 00000000..9d300c54 --- /dev/null +++ b/app/src/main/res/drawable/other.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/other_off.xml b/app/src/main/res/drawable/other_off.xml new file mode 100644 index 00000000..bebb5d98 --- /dev/null +++ b/app/src/main/res/drawable/other_off.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/other_on.xml b/app/src/main/res/drawable/other_on.xml new file mode 100644 index 00000000..24eb9022 --- /dev/null +++ b/app/src/main/res/drawable/other_on.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/wifi.xml b/app/src/main/res/drawable/wifi.xml new file mode 100644 index 00000000..a6ef3152 --- /dev/null +++ b/app/src/main/res/drawable/wifi.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/wifi_off.xml b/app/src/main/res/drawable/wifi_off.xml new file mode 100644 index 00000000..d78270be --- /dev/null +++ b/app/src/main/res/drawable/wifi_off.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/wifi_on.xml b/app/src/main/res/drawable/wifi_on.xml new file mode 100644 index 00000000..8f8f1ae8 --- /dev/null +++ b/app/src/main/res/drawable/wifi_on.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/rule.xml b/app/src/main/res/layout/rule.xml index a7ac56a5..efac2784 100644 --- a/app/src/main/res/layout/rule.xml +++ b/app/src/main/res/layout/rule.xml @@ -5,17 +5,24 @@ android:orientation="horizontal" android:paddingBottom="6dp"> + + + android:orientation="vertical" + android:paddingLeft="6dp"> @@ -24,7 +31,6 @@ android:id="@+id/tvPackage" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_gravity="center_vertical" android:ellipsize="start" android:singleLine="true" android:textAppearance="@android:style/TextAppearance.Material.Small" /> @@ -35,6 +41,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" + android:button="@drawable/wifi" android:paddingLeft="3dp" /> \ No newline at end of file