From 0facfb958a16317dd10d3da2678c8d9c0fbf20af Mon Sep 17 00:00:00 2001
From: tehcneko <7764726+tehcneko@users.noreply.github.com>
Date: Sat, 27 Mar 2021 11:05:14 +0800
Subject: [PATCH] [app] Remove weatherView (#418)
---
app/build.gradle.kts | 2 -
.../holidays/FlowerGenerator.java | 29 -----
.../customiuizer/holidays/FlowerParticle.java | 70 -----------
.../customiuizer/holidays/HolidayHelper.java | 110 ++++--------------
.../customiuizer/holidays/SnowGenerator.java | 29 -----
.../customiuizer/holidays/SnowParticle.java | 84 -------------
.../customiuizer/utils/GravitySensor.java | 102 ----------------
.../manager/ui/activity/MainActivity.java | 13 ---
.../main/res/drawable-nodpi/confetti1.webp | Bin 514 -> 0 bytes
.../main/res/drawable-nodpi/confetti2.webp | Bin 576 -> 0 bytes
.../main/res/drawable-nodpi/confetti3.webp | Bin 362 -> 0 bytes
app/src/main/res/drawable-nodpi/petal.webp | Bin 754 -> 0 bytes
.../main/res/drawable-nodpi/snowflake.webp | Bin 730 -> 0 bytes
app/src/main/res/layout/activity_main.xml | 9 --
build.gradle.kts | 1 -
15 files changed, 20 insertions(+), 429 deletions(-)
delete mode 100644 app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerGenerator.java
delete mode 100644 app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerParticle.java
delete mode 100644 app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowGenerator.java
delete mode 100644 app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowParticle.java
delete mode 100644 app/src/main/java/name/mikanoshi/customiuizer/utils/GravitySensor.java
delete mode 100644 app/src/main/res/drawable-nodpi/confetti1.webp
delete mode 100644 app/src/main/res/drawable-nodpi/confetti2.webp
delete mode 100644 app/src/main/res/drawable-nodpi/confetti3.webp
delete mode 100644 app/src/main/res/drawable-nodpi/petal.webp
delete mode 100644 app/src/main/res/drawable-nodpi/snowflake.webp
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 4c6c3ce6..bc4e4fff 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -177,8 +177,6 @@ dependencies {
implementation("com.caverock:androidsvg-aar:1.4")
implementation("com.github.bumptech.glide:glide:$glideVersion")
implementation("com.github.bumptech.glide:okhttp3-integration:$glideVersion")
- implementation("com.github.jinatonic.confetti:confetti:1.1.2")
- implementation("com.github.MatteoBattilana:WeatherView:2.0.3")
implementation("com.google.android.material:material:1.3.0")
implementation("com.google.code.gson:gson:2.8.6")
implementation("com.takisoft.preferencex:preferencex:1.1.0")
diff --git a/app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerGenerator.java b/app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerGenerator.java
deleted file mode 100644
index b48c595b..00000000
--- a/app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerGenerator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package name.mikanoshi.customiuizer.holidays;
-
-import android.content.Context;
-
-import com.github.jinatonic.confetti.ConfettoGenerator;
-import com.github.jinatonic.confetti.confetto.Confetto;
-import com.github.matteobattilana.weather.PrecipType;
-import com.github.matteobattilana.weather.confetti.ConfettoInfo;
-
-import java.util.Random;
-
-public class FlowerGenerator implements ConfettoGenerator {
- private final ConfettoInfo confettoInfo;
- private final Context context;
-
- public FlowerGenerator(Context ctx) {
- super();
- this.context = ctx;
- this.confettoInfo = new ConfettoInfo(PrecipType.SNOW);
- }
-
- public Confetto generateConfetto(Random random) {
- return new FlowerParticle(this.context, this.confettoInfo);
- }
-
- public final ConfettoInfo getConfettoInfo() {
- return this.confettoInfo;
- }
-}
diff --git a/app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerParticle.java b/app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerParticle.java
deleted file mode 100644
index 6e220d8a..00000000
--- a/app/src/main/java/name/mikanoshi/customiuizer/holidays/FlowerParticle.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package name.mikanoshi.customiuizer.holidays;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.view.Surface;
-import android.view.WindowManager;
-
-import com.github.jinatonic.confetti.confetto.Confetto;
-import com.github.matteobattilana.weather.confetti.ConfettoInfo;
-
-import java.util.Random;
-
-import org.lsposed.manager.R;
-
-@SuppressWarnings("FieldCanBeLocal")
-public class FlowerParticle extends Confetto {
- private final ConfettoInfo confettoInfo;
- private final Bitmap petal;
- private float petalScale;
- private final int[] petals = new int[]{R.drawable.confetti1, R.drawable.confetti1, R.drawable.confetti2, R.drawable.confetti2, R.drawable.confetti3, R.drawable.confetti3, R.drawable.petal};
-
- FlowerParticle(Context context, ConfettoInfo confettoInfo) {
- super();
- this.confettoInfo = confettoInfo;
- petalScale = 0.6f - (float) Math.random() * 0.15f;
- petal = BitmapFactory.decodeResource(context.getResources(), petals[new Random().nextInt(petals.length)]);
-
- int rotation = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
- if (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) petalScale *= 1.5;
- }
-
- public int getHeight() {
- return 0;
- }
-
- public int getWidth() {
- return 0;
- }
-
- public void reset() {
- super.reset();
- }
-
- protected void configurePaint(Paint paint) {
- super.configurePaint(paint);
- paint.setColor(-1);
- paint.setAntiAlias(true);
- }
-
- protected void drawInternal(Canvas canvas, Matrix matrix, Paint paint, float x, float y, float rotation, float percentageAnimated) {
- switch (confettoInfo.getPrecipType()) {
- case CLEAR:
- break;
- case SNOW:
- matrix.postScale(petalScale, petalScale);
- matrix.postRotate(rotation, petal.getWidth() / 2f, petal.getHeight() / 2f);
- matrix.postTranslate(x, y);
- canvas.drawBitmap(petal, matrix, paint);
- break;
- }
- }
-
- public final ConfettoInfo getConfettoInfo() {
- return this.confettoInfo;
- }
-}
diff --git a/app/src/main/java/name/mikanoshi/customiuizer/holidays/HolidayHelper.java b/app/src/main/java/name/mikanoshi/customiuizer/holidays/HolidayHelper.java
index 40f5d3f4..c1a308aa 100644
--- a/app/src/main/java/name/mikanoshi/customiuizer/holidays/HolidayHelper.java
+++ b/app/src/main/java/name/mikanoshi/customiuizer/holidays/HolidayHelper.java
@@ -1,118 +1,48 @@
+/*
+ * This file is part of LSPosed.
+ *
+ * LSPosed is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * LSPosed is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with LSPosed. If not, see .
+ *
+ * Copyright (C) 2021 LSPosed Contributors
+ */
+
package name.mikanoshi.customiuizer.holidays;
import android.app.Activity;
-import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
-import androidx.coordinatorlayout.widget.CoordinatorLayout;
-
-import com.github.jinatonic.confetti.ConfettiManager;
-import com.github.jinatonic.confetti.ConfettoGenerator;
-import com.github.matteobattilana.weather.PrecipType;
-import com.github.matteobattilana.weather.WeatherView;
-
-import java.lang.ref.WeakReference;
-import java.lang.reflect.Field;
-
import org.lsposed.manager.R;
-import name.mikanoshi.customiuizer.utils.GravitySensor;
+
import name.mikanoshi.customiuizer.utils.Helpers;
public class HolidayHelper {
- private static WeakReference weatherView;
- private static WeakReference angleListener;
-
- public static void setWeatherGenerator(ConfettoGenerator generator) {
- try {
- ConfettiManager manager = weatherView.get().getConfettiManager();
- Field confettoGenerator = ConfettiManager.class.getDeclaredField("confettoGenerator");
- confettoGenerator.setAccessible(true);
- confettoGenerator.set(manager, generator);
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
-
public static void setup(Activity activity) {
Helpers.detectHoliday();
- WeatherView view = activity.findViewById(R.id.weather_view);
ImageView header = activity.findViewById(R.id.holiday_header);
- view.setLayerType(View.LAYER_TYPE_HARDWARE, null);
- weatherView = new WeakReference<>(view);
- GravitySensor listener = null;
if (Helpers.currentHoliday == Helpers.Holidays.NEWYEAR) {
- int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
- view.setPrecipType(PrecipType.SNOW);
- view.setSpeed(50);
- view.setEmissionRate(rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270 ? 8 : 4);
- view.setFadeOutPercent(0.75f);
- view.setAngle(0);
- CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) view.getLayoutParams();
- lp.height = activity.getResources().getDisplayMetrics().heightPixels / (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270 ? 2 : 3);
- view.setLayoutParams(lp);
- setWeatherGenerator(new SnowGenerator(activity));
- view.resetWeather();
- view.setVisibility(View.VISIBLE);
- view.getConfettiManager().setRotationalVelocity(0, 45);
-
- listener = new GravitySensor(activity, view);
- listener.setOrientation(rotation);
- listener.setSpeed(50);
- listener.start();
-
header.setImageResource(R.drawable.newyear_header);
header.setVisibility(View.VISIBLE);
} else if (Helpers.currentHoliday == Helpers.Holidays.LUNARNEWYEAR) {
- int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
- view.setPrecipType(PrecipType.SNOW);
- view.setSpeed(35);
- view.setEmissionRate(rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270 ? 4 : 2);
- view.setFadeOutPercent(0.75f);
- view.setAngle(0);
- CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) view.getLayoutParams();
- lp.height = activity.getResources().getDisplayMetrics().heightPixels / (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270 ? 3 : 4);
- view.setLayoutParams(lp);
- setWeatherGenerator(new FlowerGenerator(activity));
- view.resetWeather();
- view.setVisibility(View.VISIBLE);
- view.getConfettiManager().setRotationalVelocity(0, 45);
-
- listener = new GravitySensor(activity, view);
- listener.setOrientation(rotation);
- listener.setSpeed(35);
- listener.start();
-
header.setImageResource(R.drawable.lunar_newyear_header);
header.setVisibility(View.VISIBLE);
} else {
- ((ViewGroup) view.getParent()).removeView(view);
((ViewGroup) header.getParent()).removeView(header);
}
- angleListener = new WeakReference<>(listener);
}
-
- public static void onPause() {
- GravitySensor listener = angleListener.get();
- if (listener != null) listener.onPause();
- WeatherView view = weatherView.get();
- if (view != null) view.getConfettiManager().terminate();
- }
-
- public static void onResume() {
- GravitySensor listener = angleListener.get();
- if (listener != null) listener.onResume();
- WeatherView view = weatherView.get();
- if (view != null) view.getConfettiManager().animate();
- }
-
- public static void onDestroy() {
- GravitySensor listener = angleListener.get();
- if (listener != null) listener.stop();
- }
-
}
diff --git a/app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowGenerator.java b/app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowGenerator.java
deleted file mode 100644
index 4721d4ac..00000000
--- a/app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowGenerator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package name.mikanoshi.customiuizer.holidays;
-
-import android.content.Context;
-
-import com.github.jinatonic.confetti.ConfettoGenerator;
-import com.github.jinatonic.confetti.confetto.Confetto;
-import com.github.matteobattilana.weather.PrecipType;
-import com.github.matteobattilana.weather.confetti.ConfettoInfo;
-
-import java.util.Random;
-
-public class SnowGenerator implements ConfettoGenerator {
- private final ConfettoInfo confettoInfo;
- private final Context context;
-
- public SnowGenerator(Context ctx) {
- super();
- this.context = ctx;
- this.confettoInfo = new ConfettoInfo(PrecipType.SNOW);
- }
-
- public Confetto generateConfetto(Random random) {
- return new SnowParticle(this.context, this.confettoInfo);
- }
-
- public final ConfettoInfo getConfettoInfo() {
- return this.confettoInfo;
- }
-}
diff --git a/app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowParticle.java b/app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowParticle.java
deleted file mode 100644
index 626fc9c2..00000000
--- a/app/src/main/java/name/mikanoshi/customiuizer/holidays/SnowParticle.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package name.mikanoshi.customiuizer.holidays;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-
-import com.github.jinatonic.confetti.confetto.Confetto;
-import com.github.matteobattilana.weather.confetti.ConfettoInfo;
-
-import org.lsposed.manager.R;
-
-public class SnowParticle extends Confetto {
- private Float prevX;
- private Float prevY;
- private final ConfettoInfo confettoInfo;
- private final Bitmap snowflake;
- private final float snowScale;
- //private float rainStretch;
-
- SnowParticle(Context context, ConfettoInfo confettoInfo) {
- super();
- this.confettoInfo = confettoInfo;
- snowScale = 0.6f - (float) Math.random() * 0.3f;
- //rainStretch = 1.5f + (float)Math.random() - 0.5f;
- snowflake = BitmapFactory.decodeResource(context.getResources(), R.drawable.snowflake);
- }
-
- public int getHeight() {
- return 0;
- }
-
- public int getWidth() {
- return 0;
- }
-
- public void reset() {
- super.reset();
- this.prevX = null;
- this.prevY = null;
- }
-
- protected void configurePaint(Paint paint) {
- super.configurePaint(paint);
- paint.setColor(-1);
- paint.setAntiAlias(true);
- }
-
- protected void drawInternal(Canvas canvas, Matrix matrix, Paint paint, float x, float y, float rotation, float percentageAnimated) {
- if (prevX == null || prevY == null) {
- prevX = x;
- prevY = y;
- }
-
- switch (confettoInfo.getPrecipType()) {
- case CLEAR:
- break;
-// case RAIN:
-// float dX = x - prevX;
-// float dY = y - prevY;
-// float x1 = prevX - dX * rainStretch;
-// float y1 = prevY - dY * rainStretch;
-// float x2 = x + dX * rainStretch;
-// float y2 = y + dY * rainStretch;
-// paint.setShader(new LinearGradient(x1, y1, x2, y2, new int[] { Color.TRANSPARENT, 0xb29aa3ad, 0xb29aa3ad, Color.TRANSPARENT }, new float[] { 0f, 0.45f, 0.55f, 1f }, Shader.TileMode.CLAMP));
-// canvas.drawLine(x1, y1, x2, y2, paint);
-// break;
- case SNOW:
- matrix.postScale(snowScale, snowScale);
- matrix.postRotate(rotation, snowflake.getWidth() / 2f, snowflake.getHeight() / 2f);
- matrix.postTranslate(x, y);
- canvas.drawBitmap(snowflake, matrix, paint);
- break;
- }
- prevX = x;
- prevY = y;
- }
-
- public final ConfettoInfo getConfettoInfo() {
- return this.confettoInfo;
- }
-}
diff --git a/app/src/main/java/name/mikanoshi/customiuizer/utils/GravitySensor.java b/app/src/main/java/name/mikanoshi/customiuizer/utils/GravitySensor.java
deleted file mode 100644
index d0f6c6e4..00000000
--- a/app/src/main/java/name/mikanoshi/customiuizer/utils/GravitySensor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package name.mikanoshi.customiuizer.utils;
-
-import android.content.Context;
-import android.hardware.Sensor;
-import android.hardware.SensorEvent;
-import android.hardware.SensorEventListener;
-import android.hardware.SensorManager;
-import android.view.Surface;
-
-import com.github.matteobattilana.weather.WeatherView;
-
-public final class GravitySensor implements SensorEventListener {
- private final SensorManager sensorManager;
- private float[] magneticValues;
- private float[] accelerometerValues;
- private int orientation;
- private int speed;
- private boolean started;
- private final Context context;
- private final WeatherView weatherView;
-
- public GravitySensor(Context context, WeatherView weatherView) {
- super();
- this.context = context;
- this.weatherView = weatherView;
- this.sensorManager = (SensorManager) this.context.getSystemService(Context.SENSOR_SERVICE);
- }
-
- public void setOrientation(int orient) {
- this.orientation = orient;
- }
-
- public void setSpeed(int spd) {
- this.speed = spd;
- }
-
- public void onAccuracyChanged(Sensor sensor, int accuracy) {
- }
-
- public void onSensorChanged(SensorEvent event) {
- if (event == null || event.sensor == null) return;
- switch (event.sensor.getType()) {
- case 1:
- this.accelerometerValues = event.values;
- break;
- case 2:
- this.magneticValues = event.values;
- break;
- }
- if (this.magneticValues == null || this.accelerometerValues == null) return;
-
- float[] rotationMatrix = new float[9];
- SensorManager.getRotationMatrix(rotationMatrix, null, this.accelerometerValues, this.magneticValues);
- float[] remappedRotationMatrix = new float[9];
- SensorManager.remapCoordinateSystem(rotationMatrix, SensorManager.AXIS_X, SensorManager.AXIS_Z, remappedRotationMatrix);
- float[] orientationAngles = new float[3];
- SensorManager.getOrientation(remappedRotationMatrix, orientationAngles);
- //double pitch = Math.toDegrees((double)orientationAngles[1]);
- double roll = Math.toDegrees(orientationAngles[2]) + Math.random() * 20 - 10;
- if (this.orientation == Surface.ROTATION_90) roll += 90;
- else if (this.orientation == Surface.ROTATION_270) roll -= 90;
- else if (this.orientation == Surface.ROTATION_180) roll += roll > 0 ? 180 : -180;
- if (roll > 90) roll -= 180;
- else if (roll < -90) roll += 180;
- this.weatherView.setAngle((int) roll);
- this.weatherView.setSpeed(this.speed + (int) Math.round(Math.random() * 20 - 10));
- }
-
- private void registerListener() {
- this.sensorManager.registerListener(this, this.sensorManager.getDefaultSensor(1), 2);
- this.sensorManager.registerListener(this, this.sensorManager.getDefaultSensor(2), 2);
- }
-
- private void unregisterListener() {
- this.sensorManager.unregisterListener(this);
- }
-
- public final void start() {
- this.started = true;
- this.registerListener();
- }
-
- public final void stop() {
- this.started = false;
- this.unregisterListener();
- }
-
- public final void onResume() {
- if (this.started) {
- this.registerListener();
- }
- }
-
- public final void onPause() {
- this.unregisterListener();
- }
-
- public final Context getContext() {
- return this.context;
- }
-
-}
diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java
index c7dc5ba0..4a4110c9 100644
--- a/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java
+++ b/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java
@@ -158,18 +158,5 @@ public class MainActivity extends BaseActivity {
super.onResume();
int moduleCount = ModuleUtil.getInstance().getEnabledModules().size();
binding.modulesSummary.setText(getResources().getQuantityString(R.plurals.modules_enabled_count, moduleCount, moduleCount));
- HolidayHelper.onResume();
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- HolidayHelper.onDestroy();
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- HolidayHelper.onPause();
}
}
diff --git a/app/src/main/res/drawable-nodpi/confetti1.webp b/app/src/main/res/drawable-nodpi/confetti1.webp
deleted file mode 100644
index b7cc2602446a7c1d721b58c9c355577fc15a0728..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 514
zcmV+d0{#6`Nk&Hc0RRA3MM6+kP&iEP0RR9mFTe{Br^KLb8$sbu^l+r@-9LnppCkoo
z8?b19YTLG9kgYRs0L}z{1{gdL(3Q6jq(lIufI!mMxq`s;=%}a!Fcd7oIrvy1;w7k3
z65#-H08$NP-+2Ol1*F}!Wk}MC$f~w&+qP}Hd(^gVySotYC)Z@Wh~dYG{!ak>54415
z#(5bUx#zAqPe$@X+?gisrMrlTH{a@#{J0Ko6-Vg$b*(EW)KKPLd5k6<2P0Jp9%|gH
zcZC^5asIU}BY@EvWt$F^6?d!sW#I-9%UiV}p?KY%YD#jaU}>{&NNhV<=*jYyi=B8v
zdgtv%v%5@C-!-bd=uO}fo-HRrfqkhokb`+%v?Y-KW+2uAk}P#zAh~U`#uH>GnnS
z#mii_0n)y$cStSnr;->*TMPG)THKCBfjoAxINk&FE0ssJ4MM6+kP&iC10ssInFTe{Bm&BlLBT3%9;AXITGh}Hvdq4ca`JXwvOk!??Y^x1voR-l}=KWJ#&UOzXU5m4b!45
z<~ua+@89-c!kSejUoC;d0>IoX;ew0yTVrbWiw|_a0bC_l=n}$fUSBKH{fA)z4ecCW
zbCTF!ONkjH=Lp+zP0A9E7&6Uv`i{}%@p1nD_NEKX1<#AltTONQ$;?
z+qP}H+AO1Ori-un&0QHUVpg+={!ai2y+GKq*uZL|J}g=QqMIKfM7r(6Fwa6d?pU7`Gt$KrOph(K5tDBUT>YI{n66$BEseG
O*VpG*N^)Wh3DE;astH#B
diff --git a/app/src/main/res/drawable-nodpi/confetti3.webp b/app/src/main/res/drawable-nodpi/confetti3.webp
deleted file mode 100644
index 92d9147363109cea1f3cd904185f1e680dacebac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 362
zcmV-w0hRtzNk&Fu0RRA3MM6+kP&iCh0RR9mFTe{B2ZNw(+n7JCBTN5t7^In3(6$X5
zTig9jVcWJ%(miG)JzhWdo1+4pIy-(YlS
z(Wj~YiE*E^T72yXjIEA?8se)C7{6bOYk=~Iir*bS1#*!Flo-4JOFtbC5~+VPQQUw<@Xmh}62
zUn9J=NTP4k9%A=NW^hM&SQ`N$l)Ldb3X#|;1HfaR1Rnt33nY00I1Gvkp4=Bmc6C6)
IeKBc&ytNXlt^fc4
diff --git a/app/src/main/res/drawable-nodpi/petal.webp b/app/src/main/res/drawable-nodpi/petal.webp
deleted file mode 100644
index b8221bba05b9f7e5fccf1bcdf15f47f98bcf6f85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 754
zcmV-R6e8m*3$L$5Y^r}&Ch&}@%&!zoBN~pKW)>mj$>oScR7vq
zsM{kyyOGB!4t;TrnTe945{hhjt=Fa`qTaA3d?H6TD#iV`{oG@w|4s+)lb96$pK
zfEh5{QYeSwLQp6a0o@J~Tq<}@JX5a?I$CDLKpiHu+#(uI0ZQvs=_pPdA;?OFE32d<
zcNU+1rIkc42jgEzQz8vawM`BkObSxfsk_tEWrV8hISu+d*XM0NPcNhEG{gAEq^$3h
znd?Ts{fUWpEk}<>RM(61tyy2r;qrIsDrDQXWXM*wZTr}^ZQC~g{{t>Fp3Y-L?1=tP
zfceSwzWQi+&oXzU+^LDtw1<%YbbJ&uF$Wp%83TZZsQ6No_%-b(;y#%g(NSP5mvqp0
z%npmH>de$Zh=g8D5Am>!h)kcmC^(O&hkiQ2?QF8lfi2Y#cOcLJfKe81{|Dy#P9
zo(SAr^$zr@h^VTzKM*)*XJ+l|5m83r*k1Um2N>uRphFdfBWuohTUQSTI?;trMX7jb
zEwJ4M5kRC<&?UtKTh8QscV~x`&;@2d+N^o@>$@wz>lC1C?!i`Iy|KI6*;WDsf=c)G
zyRDbSrm9xT+}Xh*m2TPg*?OD<8X8;6oo$t0n|D379%h?r4QOdCbEUgg8t31f_G&;2
z*R?jP0u7r1WBYNTh8C`?X8>s62Zyz%r9Ut?NYiTASbte;sI@ReM4B*rZ|r}pH3-+5
z(FCAw=bJ!av!$VaWqlKSlXpsG|A?Vp%yLFq-jRukBh@t3A1l5RZ
kzrJC1&p|@eVMO$Kp?=G6Cvz|it6$q|q(Nw#TQW8>JiZQHhO+qSK>(SJPWTs#-A5&dW2wvnRr7#F(T
zKhXb5z#ojsU5>lSn00vFU&Lp5%xnaK=hzJ31Z?6w&
zixXfUM`1!SEODCGS!9X@2;2sMZQ0#S%xYyA&9V~su7ZC;R11bQJlkE#-YUfcf7RAU
z~L@*0YW
z`kW{f$%C_x6$z^eQ@}-qifOD>_i*fDfQXuK>dJ9BL?aOmV%>)4MmJJbz<>n2x{_Ev
zK>Q22-T~530I4gqV(JCJWx0vf|05EJcxQhym0tq*n6HUeJE}hgfV=f8U_FPXFbS~d
zC}R=0S!9R6X}vO?c$;rbH<7vG8koy|2d_=mxD)p^tb=2!rXJ9tOmwPz1b8&QLt5s{
zf8nFUTUH!%YBZ@Twl0Ra!bk0}gPl32q7)0HL8s866K$O6;aD3nwPMro6E4|_tUxMK
zf8>d;k9rXGFRO4UK7S?6HZ)3
zScw~nkJI=W;J8?k6bBYF#2grKqJTswALtizAa@7OB*mqzj7Z2CS#0
-
-