Skip to content

Commit 29be004

Browse files
committed
feat: Update about layout UI to include Morphe links
1 parent 43a6c8a commit 29be004

File tree

26 files changed

+396
-269
lines changed

26 files changed

+396
-269
lines changed

play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java

Lines changed: 86 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,16 @@
1717
package org.microg.tools.ui;
1818

1919
import android.content.Context;
20+
import android.content.Intent;
2021
import android.content.pm.PackageManager;
2122
import android.graphics.drawable.Drawable;
23+
import android.net.Uri;
2224
import android.os.Bundle;
2325
import android.text.TextUtils;
2426
import android.view.LayoutInflater;
2527
import android.view.View;
2628
import android.view.ViewGroup;
2729
import android.widget.ArrayAdapter;
28-
import android.widget.Button;
2930
import android.widget.ImageView;
3031
import android.widget.TextView;
3132

@@ -51,31 +52,31 @@ public abstract class AbstractAboutFragment extends Fragment {
5152

5253
protected abstract void collectLibraries(List<Library> libraries);
5354

54-
public static Drawable getIcon(Context context) {
55-
try {
56-
PackageManager pm = context.getPackageManager();
57-
return Objects.requireNonNull(pm.getPackageInfo(context.getPackageName(), 0).applicationInfo).loadIcon(pm);
58-
} catch (PackageManager.NameNotFoundException e) {
59-
// Never happens, self package always exists!
60-
throw new RuntimeException(e);
61-
}
62-
}
63-
64-
public static String getAppName(Context context) {
65-
try {
66-
PackageManager pm = context.getPackageManager();
67-
CharSequence label = Objects.requireNonNull(pm.getPackageInfo(context.getPackageName(), 0).applicationInfo).loadLabel(pm);
68-
if (TextUtils.isEmpty(label)) return context.getPackageName();
69-
return label.toString().trim();
70-
} catch (PackageManager.NameNotFoundException e) {
71-
// Never happens, self package always exists!
72-
throw new RuntimeException(e);
73-
}
74-
}
75-
76-
protected String getAppName() {
77-
return getAppName(requireContext());
78-
}
55+
// public static Drawable getIcon(Context context) {
56+
// try {
57+
// PackageManager pm = context.getPackageManager();
58+
// return Objects.requireNonNull(pm.getPackageInfo(context.getPackageName(), 0).applicationInfo).loadIcon(pm);
59+
// } catch (PackageManager.NameNotFoundException e) {
60+
// // Never happens, self package always exists!
61+
// throw new RuntimeException(e);
62+
// }
63+
// }
64+
//
65+
// public static String getAppName(Context context) {
66+
// try {
67+
// PackageManager pm = context.getPackageManager();
68+
// CharSequence label = Objects.requireNonNull(pm.getPackageInfo(context.getPackageName(), 0).applicationInfo).loadLabel(pm);
69+
// if (TextUtils.isEmpty(label)) return context.getPackageName();
70+
// return label.toString().trim();
71+
// } catch (PackageManager.NameNotFoundException e) {
72+
// // Never happens, self package always exists!
73+
// throw new RuntimeException(e);
74+
// }
75+
// }
76+
77+
// protected String getAppName() {
78+
// return getAppName(requireContext());
79+
// }
7980

8081
public static String getLibVersion(String packageName) {
8182
try {
@@ -116,54 +117,81 @@ protected String getSummary() {
116117

117118
@Nullable
118119
@Override
119-
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
120+
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
120121
View aboutRoot = inflater.inflate(R.layout.about_root, container, false);
121122

122-
((ImageView) aboutRoot.findViewById(android.R.id.icon)).setImageDrawable(getIcon(requireContext()));
123-
((TextView) aboutRoot.findViewById(android.R.id.title)).setText(getAppName());
124-
((TextView) aboutRoot.findViewById(R.id.about_version)).setText(getString(R.string.about_version_str, getSelfVersion()));
123+
ViewGroup appCardContainer = aboutRoot.findViewById(R.id.app_card_container);
124+
if (appCardContainer != null) {
125+
View appCard = inflater.inflate(R.layout.about_app, appCardContainer, true);
126+
// ((ImageView) appCard.findViewById(R.id.app_icon)).setImageDrawable(getIcon(requireContext()));
127+
// ((TextView) appCard.findViewById(R.id.app_title)).setText(getAppName());
128+
((TextView) appCard.findViewById(R.id.app_version)).setText(getSelfVersion());
129+
130+
appCard.findViewById(R.id.app_check_updates).setOnClickListener(v -> {
131+
new UpdateChecker(requireContext()).checkForUpdates(v, () -> {
132+
});
133+
});
125134

126-
String summary = getSummary();
127-
if (summary != null) {
128-
((TextView) aboutRoot.findViewById(android.R.id.summary)).setText(summary);
129-
aboutRoot.findViewById(android.R.id.summary).setVisibility(View.VISIBLE);
135+
View appInfo = appCard.findViewById(R.id.app_info);
136+
if (appInfo != null) {
137+
appInfo.setOnClickListener(v -> {
138+
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
139+
intent.setData(Uri.parse("package:" + requireContext().getPackageName()));
140+
try {
141+
startActivity(intent);
142+
} catch (Exception ignored) {
143+
}
144+
});
145+
}
146+
}
147+
148+
ViewGroup morpheCardContainer = aboutRoot.findViewById(R.id.morphe_card_container);
149+
if (morpheCardContainer != null) {
150+
View morpheCard = inflater.inflate(R.layout.about_morphe, morpheCardContainer, true);
151+
152+
morpheCard.findViewById(R.id.morphe_github).setOnClickListener(v -> openUrl("https://github.com/MorpheApp"));
153+
morpheCard.findViewById(R.id.morphe_x).setOnClickListener(v -> openUrl("https://twitter.com/MorpheApp"));
154+
morpheCard.findViewById(R.id.morphe_reddit).setOnClickListener(v -> openUrl("https://www.reddit.com/r/MorpheApp"));
155+
morpheCard.findViewById(R.id.morphe_website).setOnClickListener(v -> openUrl("https://morphe.software/"));
130156
}
131157

132158
List<Library> libraries = new ArrayList<>();
133159
collectLibraries(libraries);
134160
Collections.sort(libraries);
135161

136162
ViewGroup libraryContainer = aboutRoot.findViewById(R.id.library_container);
137-
for (int i = 0; i < libraries.size(); i++) {
138-
Library library = libraries.get(i);
163+
if (libraryContainer != null) {
164+
for (int i = 0; i < libraries.size(); i++) {
165+
Library library = libraries.get(i);
166+
View libraryView = inflater.inflate(R.layout.library_item, libraryContainer, false);
139167

140-
View libraryView = inflater.inflate(R.layout.library_item, libraryContainer, false);
168+
TextView title = libraryView.findViewById(android.R.id.text1);
169+
TextView subtitle = libraryView.findViewById(android.R.id.text2);
141170

142-
TextView title = libraryView.findViewById(android.R.id.text1);
143-
TextView subtitle = libraryView.findViewById(android.R.id.text2);
171+
title.setText(getString(R.string.about_name_version_str, library.name, getLibVersion(library.packageName)));
172+
subtitle.setText(library.copyright != null ? library.copyright : getString(R.string.about_default_license));
144173

145-
title.setText(getString(R.string.about_name_version_str, library.name, getLibVersion(library.packageName)));
146-
subtitle.setText(library.copyright != null ? library.copyright : getString(R.string.about_default_license));
174+
com.google.android.material.listitem.ListItemLayout listItemLayout = libraryView.findViewById(R.id.list_item_library);
175+
if (listItemLayout != null) {
176+
listItemLayout.updateAppearance(i, libraries.size());
177+
}
147178

148-
com.google.android.material.listitem.ListItemLayout listItemLayout = libraryView.findViewById(R.id.list_item_library);
149-
listItemLayout.updateAppearance(i, libraries.size());
150-
151-
libraryContainer.addView(libraryView);
179+
libraryContainer.addView(libraryView);
180+
}
152181
}
153182

154-
Button btnCheckUpdates = aboutRoot.findViewById(R.id.btnCheckUpdates);
155-
btnCheckUpdates.setOnClickListener(v -> {
156-
Context context = getContext();
157-
if (context == null) return;
158-
UpdateChecker updateChecker = new UpdateChecker(context);
159-
updateChecker.checkForUpdates(v, () -> {
160-
});
161-
});
162183
return aboutRoot;
163184
}
164185

165-
private class LibraryAdapter extends ArrayAdapter<Library> {
186+
private void openUrl(String url) {
187+
try {
188+
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
189+
startActivity(intent);
190+
} catch (Exception ignored) {
191+
}
192+
}
166193

194+
private class LibraryAdapter extends ArrayAdapter<Library> {
167195
public LibraryAdapter(Context context, Library[] libraries) {
168196
super(context, android.R.layout.simple_list_item_2, android.R.id.text1, libraries);
169197
}
@@ -178,10 +206,11 @@ public View getView(int position, View convertView, @NonNull ViewGroup parent) {
178206
}
179207
}
180208

209+
@SuppressWarnings("ClassCanBeRecord")
181210
protected static class Library implements Comparable<Library> {
182-
private final String packageName;
183-
private final String name;
184-
private final String copyright;
211+
public final String packageName;
212+
public final String name;
213+
public final String copyright;
185214

186215
public Library(String packageName, String name, String copyright) {
187216
this.packageName = packageName;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="?attr/colorControlNormal"
5+
android:viewportWidth="24"
6+
android:viewportHeight="24">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M12 2c-1.31 0-2.61 0.26-3.83 0.76C6.96 3.26 5.86 4 4.93 4.93 3.05 6.8 2 9.35 2 12c0 4.42 2.87 8.17 6.84 9.5 0.5 0.08 0.66-0.23 0.66-0.5v-1.69c-2.77 0.6-3.36-1.34-3.36-1.34-0.46-1.16-1.11-1.47-1.11-1.47-0.91-0.62 0.07-0.6 0.07-0.6 1 0.07 1.53 1.03 1.53 1.03 0.87 1.52 2.34 1.07 2.91 0.83 0.09-0.65 0.35-1.09 0.63-1.34-2.22-0.25-4.55-1.11-4.55-4.92 0-1.11 0.38-2 1.03-2.71-0.1-0.25-0.45-1.29 0.1-2.64 0 0 0.84-0.27 2.75 1.02 0.79-0.22 1.65-0.33 2.5-0.33 0.85 0 1.71 0.11 2.5 0.33 1.91-1.29 2.75-1.02 2.75-1.02 0.55 1.35 0.2 2.39 0.1 2.64 0.65 0.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91 0.36 0.31 0.69 0.92 0.69 1.85V21c0 0.27 0.16 0.59 0.67 0.5C19.14 20.16 22 16.42 22 12c0-1.31-0.26-2.61-0.76-3.83-0.5-1.21-1.24-2.31-2.17-3.24-0.93-0.93-2.03-1.67-3.24-2.17C14.6 2.26 13.3 2 12 2Z" />
10+
</vector>
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2-
android:width="20dp"
3-
android:height="20dp"
2+
android:width="24dp"
3+
android:height="24dp"
44
android:tint="?attr/colorControlNormal"
55
android:viewportWidth="960"
66
android:viewportHeight="960">
77
<path
88
android:fillColor="@android:color/white"
9-
android:pathData="M480,528Q430,528 395,493Q360,458 360,408Q360,358 395,323Q430,288 480,288Q530,288 565,323Q600,358 600,408Q600,458 565,493Q530,528 480,528ZM480,864L307,902Q290,906 276.5,895Q263,884 263,867L263,632Q220,595 194,533Q168,471 168,408Q168,278 259,187Q350,96 480,96Q610,96 701,187Q792,278 792,408Q792,472 768,533.5Q744,595 696,633L696,867Q696,884 682.5,895Q669,906 652,902L480,864ZM480,648Q580,648 650,578Q720,508 720,408Q720,308 650,238Q580,168 480,168Q380,168 310,238Q240,308 240,408Q240,508 310,578Q380,648 480,648ZM335,822L480,790L624,822L624,684Q591,702 554.5,711Q518,720 480,720Q442,720 405,711.5Q368,703 335,684L335,822ZM480,752L480,752Q480,752 480,752Q480,752 480,752Q480,752 480,752Q480,752 480,752L480,752L480,752Z" />
9+
android:pathData="M480,520Q430,520 395,485Q360,450 360,400Q360,350 395,315Q430,280 480,280Q530,280 565,315Q600,350 600,400Q600,450 565,485Q530,520 480,520ZM480,840L293,902Q273,909 256.5,897Q240,885 240,865L240,611Q202,569 181,515Q160,461 160,400Q160,266 253,173Q346,80 480,80Q614,80 707,173Q800,266 800,400Q800,461 779,515Q758,569 720,611L720,865Q720,885 703.5,897Q687,909 667,902L480,840ZM480,640Q580,640 650,570Q720,500 720,400Q720,300 650,230Q580,160 480,160Q380,160 310,230Q240,300 240,400Q240,500 310,570Q380,640 480,640ZM320,801L480,760L640,801L640,677Q605,697 564.5,708.5Q524,720 480,720Q436,720 395.5,708.5Q355,697 320,677L320,801ZM480,739L480,739Q480,739 480,739Q480,739 480,739Q480,739 480,739Q480,739 480,739L480,739L480,739Z" />
1010
</vector>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="100dp"
3+
android:height="100dp"
4+
android:viewportWidth="100"
5+
android:viewportHeight="100">
6+
<path
7+
android:fillColor="#FFFF0033"
8+
android:pathData="M50.5 66.37c6.05 0 11.52 2.48 15.44 6.49l-6.4 6.4c-4.99 4.99-13.09 4.99-18.08 0l-6.4-6.4c3.92-4 9.4-6.5 15.44-6.5Z" />
9+
<path
10+
android:fillColor="#FFFF0033"
11+
android:fillType="evenOdd"
12+
android:pathData="M41.46 21.75c5-5 13.09-5 18.08 0l19.71 19.7c5 5 5 13.1 0 18.1L67.56 71.23c-4.34-4.42-10.38-7.17-17.06-7.17-6.68 0-12.72 2.75-17.06 7.17l-11.7-11.7c-4.99-4.99-4.99-13.09 0-18.08l19.72-19.71Zm9.04 19.2c-5.28 0-9.56 4.27-9.56 9.55 0 5.28 4.28 9.56 9.56 9.56s9.56-4.28 9.56-9.56-4.28-9.56-9.56-9.56Z" />
13+
</vector>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
xmlns:aapt="http://schemas.android.com/aapt"
3+
android:width="100dp"
4+
android:height="100dp"
5+
android:viewportWidth="100"
6+
android:viewportHeight="100">
7+
<path
8+
android:fillColor="#FF1E5AA8"
9+
android:pathData="M28.47 31.1c-3.4 0-6.3 2.71-6.47 6.06v30.61c0.16 3.35 3.08 6.06 6.47 6.06 3.4 0 6.32-2.7 6.48-6.06v-30.6c-0.16-3.36-3.08-6.07-6.48-6.07Z" />
10+
<path
11+
android:fillColor="#FF00AFAE"
12+
android:pathData="M65.05 54.22v13.55c0.16 3.35 3.08 6.06 6.48 6.06 3.4 0 6.3-2.7 6.47-6.06V37.8c-1.78-2.23-11.98 10.04-12.95 16.42Z" />
13+
<path android:pathData="M29.12 26c-5.5 0-7.12 3.99-7.12 6.38v8.6c4.86-5.25 12.14 4.31 12.95 5.27 4.53 5.1 7.12 13.87 15.05 14.19 7.77-0.32 10.84-8.93 15.05-14.2 0 0 7.29-11.79 12.95-12.75 0-4.46-1.78-7.49-7.12-7.49-5.5 0-9.39 7.97-12.14 11.48-2.75 3.5-4.05 7.33-8.74 7.33-4.7 0-6.15-3.98-8.74-7.33C38.51 33.98 34.62 26 29.12 26Z">
14+
<aapt:attr name="android:fillColor">
15+
<gradient
16+
android:endX="78"
17+
android:endY="43.22"
18+
android:startX="22"
19+
android:startY="43.22"
20+
android:type="linear">
21+
<item
22+
android:color="#FF1E5AA8"
23+
android:offset="0" />
24+
<item
25+
android:color="#FF00AFAE"
26+
android:offset="1" />
27+
</gradient>
28+
</aapt:attr>
29+
</path>
30+
</vector>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="?attr/colorControlNormal"
5+
android:viewportWidth="24"
6+
android:viewportHeight="24">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M10.75 13.04c0-0.57-0.47-1.04-1.04-1.04-0.57 0-1.04 0.47-1.04 1.04 0 0.28 0.11 0.54 0.3 0.74 0.2 0.19 0.46 0.3 0.74 0.3 0.28 0 0.54-0.11 0.74-0.3 0.19-0.2 0.3-0.46 0.3-0.74Zm3.34 2.37c-0.45 0.45-1.41 0.61-2.09 0.61-0.68 0-1.64-0.16-2.09-0.61-0.02-0.03-0.05-0.05-0.09-0.06-0.03-0.02-0.06-0.02-0.1-0.02-0.04 0-0.07 0-0.1 0.02-0.04 0.01-0.07 0.03-0.09 0.06-0.03 0.02-0.05 0.05-0.06 0.09-0.02 0.03-0.02 0.06-0.02 0.1 0 0.04 0 0.07 0.02 0.1 0.01 0.04 0.03 0.07 0.06 0.09 0.71 0.71 2.07 0.77 2.47 0.77 0.4 0 1.76-0.06 2.47-0.77 0.03-0.02 0.05-0.05 0.06-0.09 0.02-0.03 0.02-0.06 0.02-0.1 0-0.04 0-0.07-0.02-0.1-0.01-0.04-0.03-0.07-0.06-0.09-0.1-0.1-0.27-0.1-0.38 0Zm0.2-3.41c-0.57 0-1.04 0.47-1.04 1.04 0 0.57 0.47 1.04 1.04 1.04 0.57 0 1.04-0.47 1.04-1.04 0-0.57-0.46-1.04-1.04-1.04Z" />
10+
<path
11+
android:fillColor="@android:color/white"
12+
android:pathData="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm5.8 11.33c0.02 0.14 0.03 0.29 0.03 0.44 0 2.24-2.61 4.06-5.83 4.06s-5.83-1.82-5.83-4.06c0-0.15 0.01-0.3 0.03-0.44C5.69 13.1 5.34 12.59 5.34 12c0-0.29 0.08-0.57 0.24-0.8 0.16-0.25 0.38-0.43 0.65-0.55 0.26-0.1 0.55-0.14 0.83-0.09 0.28 0.06 0.54 0.19 0.75 0.39 1.01-0.73 2.41-1.19 3.96-1.24l0.74-3.49c0.01-0.07 0.05-0.13 0.11-0.16 0.06-0.04 0.13-0.05 0.2-0.04l2.42 0.52c0.08-0.17 0.2-0.3 0.36-0.41 0.16-0.1 0.34-0.16 0.52-0.17 0.19 0 0.37 0.03 0.54 0.12 0.16 0.09 0.3 0.21 0.4 0.37 0.1 0.16 0.15 0.34 0.15 0.53 0 0.18-0.04 0.36-0.13 0.53C17 7.67 16.86 7.8 16.7 7.9c-0.16 0.1-0.34 0.14-0.53 0.14-0.56 0-1.01-0.44-1.04-0.99l-2.17-0.46-0.66 3.12c1.53 0.05 2.9 0.52 3.9 1.24 0.15-0.15 0.34-0.26 0.54-0.33 0.2-0.06 0.41-0.09 0.62-0.06 0.21 0.02 0.42 0.09 0.6 0.2 0.18 0.1 0.33 0.25 0.45 0.43s0.2 0.38 0.23 0.59c0.04 0.2 0.02 0.42-0.04 0.62-0.05 0.2-0.16 0.4-0.3 0.56-0.13 0.16-0.3 0.28-0.5 0.37Z" />
13+
</vector>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="?attr/colorControlNormal"
5+
android:viewportWidth="960"
6+
android:viewportHeight="960">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M480,880Q398,880 325,848.5Q252,817 197.5,762.5Q143,708 111.5,635Q80,562 80,480Q80,397 111.5,324.5Q143,252 197.5,197.5Q252,143 325,111.5Q398,80 480,80Q563,80 635.5,111.5Q708,143 762.5,197.5Q817,252 848.5,324.5Q880,397 880,480Q880,562 848.5,635Q817,708 762.5,762.5Q708,817 635.5,848.5Q563,880 480,880ZM480,798Q506,762 525,723Q544,684 556,640L404,640Q416,684 435,723Q454,762 480,798ZM376,782Q358,749 344.5,713.5Q331,678 322,640L204,640Q233,690 276.5,727Q320,764 376,782ZM584,782Q640,764 683.5,727Q727,690 756,640L638,640Q629,678 615.5,713.5Q602,749 584,782ZM170,560L306,560Q303,540 301.5,520.5Q300,501 300,480Q300,459 301.5,439.5Q303,420 306,400L170,400Q165,420 162.5,439.5Q160,459 160,480Q160,501 162.5,520.5Q165,540 170,560ZM386,560L574,560Q577,540 578.5,520.5Q580,501 580,480Q580,459 578.5,439.5Q577,420 574,400L386,400Q383,420 381.5,439.5Q380,459 380,480Q380,501 381.5,520.5Q383,540 386,560ZM654,560L790,560Q795,540 797.5,520.5Q800,501 800,480Q800,459 797.5,439.5Q795,420 790,400L654,400Q657,420 658.5,439.5Q660,459 660,480Q660,501 658.5,520.5Q657,540 654,560ZM638,320L756,320Q727,270 683.5,233Q640,196 584,178Q602,211 615.5,246.5Q629,282 638,320ZM404,320L556,320Q544,276 525,237Q506,198 480,162Q454,198 435,237Q416,276 404,320ZM204,320L322,320Q331,282 344.5,246.5Q358,211 376,178Q320,196 276.5,233Q233,270 204,320Z" />
10+
</vector>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="?attr/colorControlNormal"
5+
android:viewportWidth="24"
6+
android:viewportHeight="24">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M17.69 3.06l-5 5.71-4.32-5.7H2.11l7.48 9.77-7.09 8.1h3.04L11 14.69l4.78 6.25h6.1l-7.8-10.3 6.63-7.58h-3.03Zm-1.07 16.06L5.65 4.78h1.8L18.3 19.12h-1.68Z" />
10+
</vector>

0 commit comments

Comments
 (0)