Skip to content

Commit 5b7f02a

Browse files
committed
Add feature to exclude appfilter declaration
1 parent b2f4b7c commit 5b7f02a

File tree

9 files changed

+26
-9
lines changed

9 files changed

+26
-9
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ android {
99
vectorDrawables.generatedDensities = []
1010
minSdkVersion 23
1111
targetSdk 35
12-
versionName '2.5.8'
12+
versionName '2.5.9'
1313
versionCode 30
1414
}
1515

@@ -51,7 +51,7 @@ android {
5151
dependencies {
5252
implementation 'androidx.annotation:annotation:1.9.1'
5353
implementation 'androidx.appcompat:appcompat:1.7.0'
54-
implementation 'androidx.core:core:1.15.0'
54+
implementation 'androidx.core:core:1.16.0'
5555
implementation 'com.google.android.material:material:1.12.0'
5656
implementation 'com.github.sarsamurmu:AdaptiveIconBitmap:1.0.2'
5757
}

app/src/main/java/de/kaiserdragon/iconrequest/SettingActivity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ protected void onCreate(Bundle savedInstanceState) {
3838
((CheckBox) findViewById(R.id.checkBoxOnly)).setChecked(SettingsHelper.loadDataBool("SettingOnlyNew", this));
3939
((CheckBox) findViewById(R.id.checkShortcut)).setChecked(SettingsHelper.loadDataBool("Shortcut", this));
4040
((CheckBox) findViewById(R.id.checkActionMain)).setChecked(SettingsHelper.loadDataBool("ActionMain", this));
41+
((CheckBox) findViewById(R.id.exclude_appfilter_line)).setChecked(SettingsHelper.loadDataBool("exclude_appfilter_line", this));
4142

4243

4344
//Button setDark = findViewById(R.id.radioDark);
@@ -59,6 +60,8 @@ protected void onCreate(Bundle savedInstanceState) {
5960
Shortcut.setOnClickListener(view -> start(view, 0));
6061
CheckBox ActionMain = findViewById(R.id.checkActionMain);
6162
ActionMain.setOnClickListener(view -> start(view, 0));
63+
CheckBox exclude_appfilter_line = findViewById(R.id.exclude_appfilter_line);
64+
exclude_appfilter_line.setOnClickListener(view -> start(view, 0));
6265

6366
Toolbar toolbar = findViewById(R.id.toolbar);
6467
setSupportActionBar(toolbar);
@@ -82,6 +85,8 @@ public void start(View view, int update) {
8285
SettingsHelper.saveDataBool("Shortcut", ((CheckBox) view).isChecked(), this);
8386
} else if (view == findViewById(R.id.checkActionMain)) {
8487
SettingsHelper.saveDataBool("ActionMain", ((CheckBox) view).isChecked(), this);
88+
} else if (view == findViewById(R.id.exclude_appfilter_line)) {
89+
SettingsHelper.saveDataBool("exclude_appfilter_line", ((CheckBox) view).isChecked(), this);
8590
}
8691
}
8792

app/src/main/java/de/kaiserdragon/iconrequest/helper/ShareHelper.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static de.kaiserdragon.iconrequest.BuildConfig.DEBUG;
44
import static de.kaiserdragon.iconrequest.helper.CommonHelper.makeToast;
5+
import static de.kaiserdragon.iconrequest.helper.SettingsHelper.loadDataBool;
56

67
import android.content.ClipData;
78
import android.content.ClipboardManager;
@@ -124,6 +125,8 @@ public static String[] actionSave(AppAdapter adapter, Boolean updateOnly, Contex
124125
ByteArrayOutputStream BaOs = new ByteArrayOutputStream();
125126
ZipOutputStream zos = new ZipOutputStream(BaOs);
126127

128+
boolean excludeAppfilterLines = loadDataBool("exclude_appfilter_line",context);
129+
127130
ArrayList<AppInfo> arrayList = adapter.getAllSelected();
128131
if (arrayList.isEmpty()) {
129132
// no apps are selected
@@ -135,14 +138,15 @@ public static String[] actionSave(AppAdapter adapter, Boolean updateOnly, Contex
135138
StringBuilder stringBuilderXML = new StringBuilder();
136139
stringBuilderEmail.append(context.getString(R.string.request_email_text));
137140
ArrayList<String> LabelList = new ArrayList<>();
138-
stringBuilderXML.append("<appfilter>\n\n");
141+
if (!excludeAppfilterLines) stringBuilderXML.append("<appfilter>\n\n");
139142
// process selected apps
140143
for (int i = 0; i < arrayList.size(); i++) {
141144
//if (arrayList.get(i).selected) {
142145
String iconName = arrayList.get(i).label.replaceAll("[^a-zA-Z0-9 ]+", "").replaceAll("[ ]+", "_").toLowerCase();
143146
if (DEBUG) Log.i(TAG, "iconName: " + iconName);
144147
if (!updateOnly) {
145148
//if a name is a duplicate rename 1 so nothing gets replaced while saving
149+
//check if icon is in an arraylist if not add else rename and check again
146150
int n = 0;
147151
while (LabelList.contains(iconName)) {
148152
n++;
@@ -165,12 +169,12 @@ public static String[] actionSave(AppAdapter adapter, Boolean updateOnly, Contex
165169

166170
}
167171
if (DEBUG) Log.i(TAG, "iconName: " + iconName);
168-
//check if icon is in an arraylist if not add else rename and check again
172+
if (i != 0) stringBuilderXML.append("\n\n");
169173
stringBuilderEmail.append(arrayList.get(i).label).append("\n");
170-
stringBuilderXML.append("\t<!-- ").append(arrayList.get(i).label).append(" -->\n\t<item component=\"ComponentInfo{").append(arrayList.get(i).getCode()).append("}\" drawable=\"").append(iconName).append("\"/>").append("\n\n");
171-
174+
if (!(arrayList.size()<=1 && excludeAppfilterLines)) stringBuilderXML.append("\t<!-- ").append(arrayList.get(i).label).append(" -->\n\t");
175+
stringBuilderXML.append("<item component=\"ComponentInfo{").append(arrayList.get(i).getCode()).append("}\" drawable=\"").append(iconName).append("\"/>");
172176
}
173-
stringBuilderXML.append("</appfilter>");
177+
if (!excludeAppfilterLines) stringBuilderXML.append("\n\n</appfilter>");
174178
// }
175179
SimpleDateFormat date = new SimpleDateFormat("ddMMyyyy_HHmmss", Locale.US);
176180
String zipName = date.format(new Date());

app/src/main/res/layout/settings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,11 @@
148148
android:layout_width="match_parent"
149149
android:layout_height="wrap_content"
150150
android:text="@string/MainNoLaunch" />
151+
<CheckBox
152+
android:id="@+id/exclude_appfilter_line"
153+
android:layout_width="match_parent"
154+
android:layout_height="wrap_content"
155+
android:text="@string/excludeAppfilterLines" />
151156

152157
</LinearLayout>
153158
</ScrollView>

app/src/main/res/values-de-rDE/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,5 @@
4141
<string name="ShowIconPack">Zeige Icon Pack</string>
4242
<string name="All">Alle</string>
4343
<string name="choose2IPack">Wähle zwei Icon Packs</string>
44+
<string name="excludeAppfilterLines">Entferne &lt;appfilter&gt; &lt;/appfilter&gt; von appfilter</string>
4445
</resources>

app/src/main/res/values-it-rIT/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,5 @@
4141
<string name="ShowIconPack">Show Icon Pack</string>
4242
<string name="All">All</string>
4343
<string name="choose2IPack">Choose two icon packs</string>
44+
<string name="excludeAppfilterLines">Excludere &lt;appfilter&gt; &lt;/appfilter&gt; di appfilter</string>
4445
</resources>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
<string name="IconPack2" translatable="false">IconPack2</string>
6464
<string name="All">All</string>
6565
<string name="choose2IPack">Choose two icon packs</string>
66+
<string name="excludeAppfilterLines">Exclude &lt;appfilter&gt; &lt;/appfilter&gt; from appfilter</string>
6667

6768

6869
</resources>

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
}
88

99
dependencies {
10-
classpath 'com.android.tools.build:gradle:8.8.2'
10+
classpath 'com.android.tools.build:gradle:8.9.1'
1111

1212
// NOTE: Do not place your application dependencies here; they belong
1313
// in the individual module build.gradle files

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-rc-2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

0 commit comments

Comments
 (0)