From 58a4a54c62c65cab92c85fd3edeff832e4572ead Mon Sep 17 00:00:00 2001
From: nilupeng <qingingrunt2010@qq.com>
Date: Tue, 09 Aug 2022 10:59:47 +0000
Subject: [PATCH] gson 转换日期问题 接入登录接口 修改图标和启动页

---
 app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java                 |   13 -
 app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java                  |    5 
 app/src/main/res/drawable/ic_launcher_background.xml                                   |  134 ++++++++--------
 app/src/main/res/drawable/ic_home_black_24dp.xml                                       |    9 +
 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp                                    |    0 
 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp                                   |    0 
 app/src/main/res/drawable/ic_dashboard_black_24dp.xml                                  |    9 +
 app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java                      |   30 ++-
 app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java                            |   41 -----
 app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonConverterFactory.java      |   19 +-
 app/src/main/res/drawable-v24/ic_launcher_foreground.xml                               |   30 +++
 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp                                        |    0 
 app/build.gradle                                                                       |   12 -
 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp                                  |    0 
 app/src/main/res/layout/activity_splash.xml                                            |   14 +
 app/src/main/AndroidManifest.xml                                                       |    2 
 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp                                 |    0 
 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml                                     |    5 
 app/src/main/res/mipmap-xhdpi/ic_launcher.webp                                         |    0 
 app/src/main/java/com/runt/open/mvvm/retrofit/observable/HttpObserver.java             |   26 ++
 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml                               |    5 
 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp                                       |    0 
 /dev/null                                                                              |    0 
 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp                                    |    0 
 app/src/main/res/drawable/ic_notifications_black_24dp.xml                              |    9 +
 app/src/main/res/mipmap-hdpi/ic_launcher.webp                                          |    0 
 app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonResponseBodyConverter.java |   85 ++++++++++
 app/src/main/res/layout/activity_login.xml                                             |    2 
 app/src/main/java/com/runt/open/mvvm/data/Results.java                                 |    4 
 app/src/main/res/mipmap-mdpi/ic_launcher.webp                                          |    0 
 app/src/main/java/com/runt/open/mvvm/ui/login/RegisterLoginActivity.java               |   23 +-
 31 files changed, 297 insertions(+), 180 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 306004b..085af32 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -18,7 +18,7 @@
     buildTypes {
         debug{
             minifyEnabled false
-            buildConfigField 'String','HOST_IP_ADDR','"http://192.168.110.116:8080/"'
+            buildConfigField 'String','HOST_IP_ADDR','"http://192.168.110.134:8080/"'
             resValue "string", "app_name", "MVVM OPEN TEST"
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
@@ -38,14 +38,8 @@
     }
     android.applicationVariants.all { variant ->
         variant.outputs.all {
-            def viron
-
-            if (buildType.name.equals('release')) {
-                viron = "正式版";
-            }else if (buildType.name.equals('debug')) {
-                viron = "开发版";
-            }
-            outputFileName =  "MVVM开源项目-" + viron + "-v" +
+            def viron = name
+            outputFileName =   "MVVM-OPEN-" + viron + "-v" +
                     defaultConfig.versionName +"-" + defaultConfig.versionCode +"-" + new Date().format("MMddHHmm", TimeZone.getTimeZone("UTC"))+
                     ".apk"
         }
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f076df2..8b509b3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,7 +25,7 @@
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
     <application
         android:allowBackup="true"
-        android:icon="@mipmap/app_icon"
+        android:icon="@mipmap/ic_launcher"
         android:name=".MyApplication"
         android:label="@string/app_name"
         android:supportsRtl="true"
diff --git a/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java b/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java
index a7d4c8d..0b2b797 100644
--- a/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java
+++ b/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java
@@ -10,23 +10,18 @@
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
+import android.util.Log;
+import android.view.*;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
 import android.widget.TextView;
 import android.widget.Toast;
-
 import androidx.annotation.ColorRes;
 import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.viewbinding.ViewBinding;
-
 import com.permissionx.guolindev.PermissionX;
 import com.runt.open.mvvm.MyApplication;
 import com.runt.open.mvvm.R;
@@ -35,13 +30,12 @@
 import com.runt.open.mvvm.listener.ResPonse;
 import com.runt.open.mvvm.util.PreferencesUtils;
 import com.runt.open.mvvm.widgets.TitleBarView;
+import dmax.dialog.SpotsDialog;
 
 import java.io.File;
 import java.lang.reflect.Method;
 import java.lang.reflect.ParameterizedType;
 import java.util.Set;
-
-import dmax.dialog.SpotsDialog;
 
 /**
  * activity 封装
@@ -393,6 +387,7 @@
         }
     }
     public void showToast(String message){
+        Log.i(TAG,"showToast "+message);
         runOnUiThread(() -> Toast.makeText(mContext,message,Toast.LENGTH_SHORT).show());
     }
 
diff --git a/app/src/main/java/com/runt/open/mvvm/data/Results.java b/app/src/main/java/com/runt/open/mvvm/data/Results.java
index ff2330d..572d453 100644
--- a/app/src/main/java/com/runt/open/mvvm/data/Results.java
+++ b/app/src/main/java/com/runt/open/mvvm/data/Results.java
@@ -1,15 +1,11 @@
 package com.runt.open.mvvm.data;
 
-import com.runt.open.mvvm.ui.login.UserBean;
-
 /**
  * My father is Object, ites purpose of
  *
  * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/1/29.
  */
 public class Results {
-
-    public static class LoggedInUser extends HttpApiResult<UserBean> { }
 
     public static class StringApiResult extends HttpApiResult<String> { }
 
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java b/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java
index 6c5e50b..2c5b8d4 100644
--- a/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java
+++ b/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java
@@ -4,6 +4,7 @@
 import com.runt.open.mvvm.data.HttpApiResult;
 import com.runt.open.mvvm.data.Results;
 
+import com.runt.open.mvvm.ui.login.UserBean;
 import io.reactivex.Observable;
 import retrofit2.http.Field;
 import retrofit2.http.FormUrlEncoded;
@@ -22,7 +23,7 @@
      */
     @FormUrlEncoded
     @POST("login")
-    Observable<Results.LoggedInUser> login(@Field(Configuration.KEY_PHONE) String phone, @Field("pass") String pass);
+    Observable<HttpApiResult<UserBean>> login(@Field(Configuration.KEY_PHONE) String phone, @Field("pass") String pass);
 
     /**
      * 验证码登录
@@ -32,7 +33,7 @@
      */
     @FormUrlEncoded
     @POST("loginCode")
-    Observable<Results.LoggedInUser> loginByCode(@Field(Configuration.KEY_PHONE) String phone, @Field(Configuration.KEY_CODE) String code);
+    Observable<HttpApiResult<UserBean>> loginByCode(@Field(Configuration.KEY_PHONE) String phone, @Field(Configuration.KEY_CODE) String code);
 
 
     @FormUrlEncoded
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/converter/DecryptGsonResponseBodyConverter.java b/app/src/main/java/com/runt/open/mvvm/retrofit/converter/DecryptGsonResponseBodyConverter.java
deleted file mode 100644
index 5d02452..0000000
--- a/app/src/main/java/com/runt/open/mvvm/retrofit/converter/DecryptGsonResponseBodyConverter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.runt.open.mvvm.retrofit.converter;
-
-import android.util.Log;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonIOException;
-import com.google.gson.TypeAdapter;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonToken;
-import com.runt.open.mvvm.data.HttpApiResult;
-import com.runt.open.mvvm.util.GsonUtils;
-
-import org.json.JSONException;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.Charset;
-
-import okhttp3.ResponseBody;
-import retrofit2.Converter;
-
-/**
- * My father is Object, ites purpose of     解密gson转换器
- *
- * @purpose Created by Runt (qingingrunt2010@qq.com) on 2021-7-22.
- */
-
-public class DecryptGsonResponseBodyConverter<T> implements Converter<ResponseBody, T> {
-    private final Gson gson;
-    private final TypeAdapter<T> adapter;
-    private final Charset UTF_8 = Charset.forName("UTF-8");
-    private final boolean transHump;//驼峰转换
-
-    public DecryptGsonResponseBodyConverter(Gson gson, TypeAdapter<T> adapter, boolean transHump) {
-        this.gson = gson;
-        this.adapter = adapter;
-        this.transHump = transHump;
-    }
-
-    @Override
-    public T convert(ResponseBody value) throws IOException {
-        String response = null;
-        try {
-            String val = new String(value.bytes(),UTF_8);
-            Log.e("Converter","val body:"+val);
-            response = transHump? GsonUtils.toHumpJson(val):val;
-        } catch (JSONException e) {
-            e.printStackTrace();
-            HttpApiResult apiResult = new HttpApiResult<>();
-            apiResult.code = 414;
-            apiResult.msg = "非标准json";
-            response = new Gson().toJson(apiResult);
-        }catch (Exception e){
-            JsonReader jsonReader = gson.newJsonReader(value.charStream());
-            return adapter.read(jsonReader);
-        } finally {
-            InputStream inputStream = new ByteArrayInputStream(response.getBytes());
-            JsonReader jsonReader = gson.newJsonReader(new InputStreamReader(inputStream, UTF_8));
-            T result = adapter.read(jsonReader);
-            if (jsonReader.peek() != JsonToken.END_DOCUMENT) {
-                throw new JsonIOException("JSON document was not fully consumed.");
-            }
-            value.close();
-            return result;
-        }
-    }
-
-
-}
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonConverterFactory.java b/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonConverterFactory.java
index c613f3e..f240d4f 100644
--- a/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonConverterFactory.java
+++ b/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonConverterFactory.java
@@ -1,16 +1,17 @@
 package com.runt.open.mvvm.retrofit.converter;
 
 import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
 import com.google.gson.TypeAdapter;
 import com.google.gson.reflect.TypeToken;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-
+import com.runt.open.mvvm.data.HttpApiResult;
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
 import retrofit2.Converter;
 import retrofit2.Retrofit;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
 
 /**
  * My father is Object, ites purpose of     解密gson转换
@@ -20,11 +21,11 @@
 public class GsonConverterFactory extends Converter.Factory {
 
     public static GsonConverterFactory create() {
-        return create(new Gson(),false);
+        return create(false);
     }
 
     public static GsonConverterFactory create(boolean transHump) {
-        return create(new Gson(),transHump);
+        return create(new GsonBuilder().setDateFormat("MMMM dd, yyyy, HH:mm:ss").create(),transHump);
     }
 
 
@@ -43,10 +44,10 @@
     }
 
     @Override
-    public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations,
+    public Converter<ResponseBody, ? extends HttpApiResult> responseBodyConverter(Type type, Annotation[] annotations,
                                                             Retrofit retrofit) {
-        TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type));
-        return new DecryptGsonResponseBodyConverter<>(gson, adapter,transHump);
+        TypeAdapter<? extends HttpApiResult> adapter = (TypeAdapter<? extends HttpApiResult>) gson.getAdapter(TypeToken.get(type));
+        return new GsonResponseBodyConverter<>(gson, adapter,transHump);
     }
 
     @Override
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonResponseBodyConverter.java b/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonResponseBodyConverter.java
new file mode 100644
index 0000000..62b09f8
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/retrofit/converter/GsonResponseBodyConverter.java
@@ -0,0 +1,85 @@
+package com.runt.open.mvvm.retrofit.converter;
+
+import android.util.Log;
+import com.google.gson.Gson;
+import com.google.gson.JsonIOException;
+import com.google.gson.JsonSyntaxException;
+import com.google.gson.TypeAdapter;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonToken;
+import com.runt.open.mvvm.data.HttpApiResult;
+import com.runt.open.mvvm.util.GsonUtils;
+import okhttp3.ResponseBody;
+import org.json.JSONException;
+import retrofit2.Converter;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+
+/**
+ * My father is Object, ites purpose of     解密gson转换器
+ *
+ * @purpose Created by Runt (qingingrunt2010@qq.com) on 2021-7-22.
+ */
+
+public class GsonResponseBodyConverter<T extends HttpApiResult> implements Converter<ResponseBody, T> {
+    private final Gson gson;
+    private final TypeAdapter<T> adapter;
+    private final Charset UTF_8 = Charset.forName("UTF-8");
+    private final boolean transHump;//驼峰转换
+
+    public GsonResponseBodyConverter(Gson gson, TypeAdapter<T> adapter, boolean transHump) {
+        this.gson = gson;
+        this.adapter = adapter;
+        this.transHump = transHump;
+    }
+
+    @Override
+    public T convert(ResponseBody value) throws IOException {
+        T result = null;
+        String response = null;
+        try {
+            String val = new String(value.bytes(),UTF_8);
+            Log.e("Converter","val body:"+val);
+            response = transHump? GsonUtils.toHumpJson(val):val;
+            result = readString(response);
+        } catch (Throwable e) {
+            e.printStackTrace();
+            Log.e("Converter","Throwable 数据类型转换错误 "+e);
+            HttpApiResult apiResult = new HttpApiResult<>();
+            apiResult.data = response;
+            if(e instanceof JSONException){
+                Log.e("Converter","Throwable 非标准json "+e);
+                apiResult.code = 1014;
+                apiResult.msg = "非标准json";
+            }else if(e instanceof JsonSyntaxException){
+                Log.e("Converter","Throwable 数据类型转换错误 "+e);
+                apiResult.code = 1015;
+                apiResult.msg = "数据类型转换错误";
+            }else {
+                apiResult.code = 1016;
+                apiResult.msg = "类型转换错误"+e.getMessage();
+                Log.e("Converter","Throwable "+e);
+            }
+            response = new Gson().toJson(apiResult);
+            result = readString(response);
+        } finally {
+            value.close();
+            return result;
+        }
+    }
+
+    private T readString(String str) throws IOException {
+        InputStream inputStream = new ByteArrayInputStream(str.getBytes());
+        JsonReader jsonReader = gson.newJsonReader(new InputStreamReader(inputStream, UTF_8));
+        T result = adapter.read(jsonReader);
+        if (jsonReader.peek() != JsonToken.END_DOCUMENT) {
+            throw new JsonIOException("JSON document was not fully consumed.");
+        }
+        return result;
+    }
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/observable/HttpObserver.java b/app/src/main/java/com/runt/open/mvvm/retrofit/observable/HttpObserver.java
index a99f74e..c9e3760 100644
--- a/app/src/main/java/com/runt/open/mvvm/retrofit/observable/HttpObserver.java
+++ b/app/src/main/java/com/runt/open/mvvm/retrofit/observable/HttpObserver.java
@@ -1,9 +1,12 @@
 package com.runt.open.mvvm.retrofit.observable;
 
 import android.util.Log;
-
 import com.google.gson.Gson;
+import com.runt.open.mvvm.base.activities.BaseActivity;
 import com.runt.open.mvvm.data.HttpApiResult;
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import retrofit2.adapter.rxjava2.HttpException;
 
 import java.net.ConnectException;
 import java.net.SocketTimeoutException;
@@ -11,15 +14,20 @@
 import java.util.concurrent.TimeoutException;
 import java.util.regex.Pattern;
 
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-import retrofit2.adapter.rxjava2.HttpException;
-
 /**
  * 网络请求观察
  * Created by Administrator on 2021/11/11 0011.
  */
 public abstract class HttpObserver<RESULT> implements Observer<HttpApiResult<RESULT>> {
+
+    BaseActivity activity;
+
+    public HttpObserver() {
+    }
+
+    public HttpObserver(BaseActivity activity) {
+        this.activity = activity;
+    }
 
     final String TAG = "HttpObserver";
 
@@ -40,7 +48,6 @@
 
     @Override
     public void onError(Throwable e) {
-        e.printStackTrace();
         Log.e(TAG,"onError "+e.getMessage()+" "+hashCode());
         int code = 600;
         String msg = "网络请求失败,请检查网络或稍后重试";
@@ -66,6 +73,11 @@
 
     protected abstract void onSuccess(RESULT data);
 
-    protected void onFailed(HttpApiResult httpResult){}
+    protected void onFailed(HttpApiResult error){
+        Log.i(TAG,"onFailed "+activity);
+        if(activity != null){
+            activity.showToast(error.msg);
+        }
+    }
 
 }
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java
index eaa678a..80addfe 100644
--- a/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java
@@ -1,19 +1,18 @@
 package com.runt.open.mvvm.ui.login;
 
 import androidx.lifecycle.MutableLiveData;
-
+import com.runt.open.mvvm.base.activities.BaseActivity;
 import com.runt.open.mvvm.base.model.BaseViewModel;
 import com.runt.open.mvvm.data.HttpApiResult;
 import com.runt.open.mvvm.data.Results;
 import com.runt.open.mvvm.retrofit.api.LoginApiCenter;
 import com.runt.open.mvvm.retrofit.observable.HttpObserver;
 import com.runt.open.mvvm.retrofit.utils.RetrofitUtils;
+import io.reactivex.Observable;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-
-import io.reactivex.Observable;
 
 /**
  * Created by Administrator on 2021/11/15 0015.
@@ -26,17 +25,24 @@
         loginApi = RetrofitUtils.getInstance().getRetrofit(LoginApiCenter.class);
     }
 
-    MutableLiveData<Results.LoggedInUser> loginResult = new MutableLiveData<>();
+    MutableLiveData<UserBean> loginResult = new MutableLiveData<>();
     MutableLiveData<Integer> verifyResult = new MutableLiveData<>();
     MutableLiveData<Results.StringApiResult> resetResult = new MutableLiveData<>();
     MutableLiveData<Results.StringApiResult> registerResult = new MutableLiveData<>();
-    HttpObserver<Results.LoggedInUser> logginObserver = new HttpObserver<Results.LoggedInUser>(){
-        @Override
-        protected void onSuccess(Results.LoggedInUser data) {
-            loginResult.setValue(data);
-        }
-    };
-    public MutableLiveData<Results.LoggedInUser> getLoginResult() {
+    HttpObserver<UserBean> logginObserver;
+
+    @Override
+    public void onCreate(BaseActivity activity) {
+        super.onCreate(activity);
+        logginObserver = new HttpObserver<UserBean>(mActivity){
+            @Override
+            protected void onSuccess(UserBean data) {
+                loginResult.setValue(data);
+            }
+        };
+    }
+
+    public MutableLiveData<UserBean> getLoginResult() {
         return loginResult;
     }
 
@@ -51,7 +57,7 @@
      */
     public void login(String username, String password) {
         // can be launched in a separate asynchronous job
-        final Observable<Results.LoggedInUser> userObservable = loginApi.login(username, password);
+        final Observable<HttpApiResult<UserBean>> userObservable = loginApi.login(username, password);
         httpObserverOnLoading(userObservable,logginObserver);
     }
 
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/RegisterLoginActivity.java b/app/src/main/java/com/runt/open/mvvm/ui/login/RegisterLoginActivity.java
index 9fff38f..eb3eb99 100644
--- a/app/src/main/java/com/runt/open/mvvm/ui/login/RegisterLoginActivity.java
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/RegisterLoginActivity.java
@@ -34,6 +34,7 @@
         mBinding.txtLogin.setOnClickListener(onclick);
         mBinding.txtRegister.setOnClickListener(onclick);
         mBinding.txtPrivacy.setOnClickListener(onclick);
+        mBinding.button.setOnClickListener(onclick);
         mBinding.editPhone.setText(getStringProjectPrefrence(Configuration.KEY_USERNAME));
         mViewModel.getVerifyResult().observe(this, result -> {
            if(result == 0){
@@ -45,20 +46,16 @@
            }
         });
         mViewModel.getLoginResult().observe(this, loggedInUser -> {
-            if(loggedInUser.code == 200){
-                putBooleanProjectPrefrence(Configuration.IS_LOGIN,true);
-                putStringProjectPrefrence(Configuration.KEY_USERNAME, mBinding.editPhone.getText().toString());
+            putBooleanProjectPrefrence(Configuration.IS_LOGIN,true);
+            putStringProjectPrefrence(Configuration.KEY_USERNAME, mBinding.editPhone.getText().toString());
 
-                UserBean user = new Gson().fromJson(new Gson().toJson(loggedInUser.data) ,UserBean.class);
-                UserBean.setUser(user);
-                putStringProjectPrefrence(Configuration.KEY_TOKEN, user.getToken());
-                MyLog.i("registerlogin",user.toString());
-                showToast(R.string.login_success);
-                setResult(RESULT_CODE_SUCESS);
-                finish();
-            }else{
-                showToast(loggedInUser.msg);
-            }
+            UserBean user = new Gson().fromJson(new Gson().toJson(loggedInUser) ,UserBean.class);
+            UserBean.setUser(user);
+            putStringProjectPrefrence(Configuration.KEY_TOKEN, user.getToken());
+            MyLog.i("registerlogin",user.toString());
+            showToast(R.string.login_success);
+            setResult(RESULT_CODE_SUCESS);
+            finish();
         });
     }
 
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java b/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java
index ccb8082..6d3901f 100644
--- a/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java
@@ -50,20 +50,11 @@
     /* 连续签到天数 */
     private int sign;
 
-    /** 用户类型(0推广,1店员,2商家,3广告商) **/
-    private Integer type;
-
     /** 上级管理者 **/
     private String upuser;
 
     /** 余额 **/
     private BigDecimal balance;
-
-    /** 会员等级(0普通用户,1会员) **/
-    private Integer vlevel;
-
-    /** 会员到期时间 **/
-    private Date vtime;
 
     /** 状态0通过,1审核中,-1封收益 , -2 限制支付 , -3限制广告 ,-4限制发送短信,-5永久限制发送短信,-6 限制登录 **/
     private String status;
@@ -133,16 +124,6 @@
         this.head = head;
     }
 
-
-    public Integer getType() {
-        return type;
-    }
-
-    public void setType(Integer type) {
-        this.type = type;
-    }
-
-
     public String getUpuser() {
         return upuser;
     }
@@ -159,25 +140,6 @@
     public void setBalance(BigDecimal balance) {
         this.balance = balance;
     }
-
-
-    public Integer getVlevel() {
-        return vlevel;
-    }
-
-    public void setVlevel(Integer vlevel) {
-        this.vlevel = vlevel;
-    }
-
-
-    public Date getVtime() {
-        return vtime;
-    }
-
-    public void setVtime(Date vtime) {
-        this.vtime = vtime;
-    }
-
 
     public String getStatus() {
         return status;
@@ -264,11 +226,8 @@
                 ", head='" + head + '\'' +
                 ", coin=" + coin +
                 ", sign=" + sign +
-                ", type=" + type +
                 ", upuser='" + upuser + '\'' +
                 ", balance=" + balance +
-                ", vlevel=" + vlevel +
-                ", vtime=" + vtime +
                 ", status=" + status +
                 ", wechat='" + wechat + '\'' +
                 ", qq='" + qq + '\'' +
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java
deleted file mode 100644
index 5d1c2c7..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.runt.open.mvvm.ui.splash;
-
-import android.os.Handler;
-
-import androidx.lifecycle.MutableLiveData;
-
-import com.runt.open.mvvm.base.model.BaseViewModel;
-
-import java.util.Date;
-
-/**
- * Created by Administrator on 2021/11/15 0015.
- */
-public class SplashViewModel extends BaseViewModel {
-
-    final String TAG = "SplashViewModel";
-    long cTime = new Date().getTime(),limitTime = 2000;
-
-    private MutableLiveData<Integer> timeOut = new MutableLiveData<>();
-
-
-    public MutableLiveData<Integer> getTimeOut() {
-        return timeOut;
-    }
-
-    public void countdown(){
-        new Handler().postDelayed(new Runnable() {
-            @Override
-            public void run() {
-                timeOut.setValue(0);
-            }
-        },limitTime);
-    }
-
-
-}
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportWidth="108"
+    android:viewportHeight="108">
+    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
+        <aapt:attr name="android:fillColor">
+            <gradient
+                android:endX="85.84757"
+                android:endY="92.4963"
+                android:startX="42.9492"
+                android:startY="49.59793"
+                android:type="linear">
+                <item
+                    android:color="#44000000"
+                    android:offset="0.0" />
+                <item
+                    android:color="#00000000"
+                    android:offset="1.0" />
+            </gradient>
+        </aapt:attr>
+    </path>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="nonZero"
+        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_dashboard_black_24dp.xml b/app/src/main/res/drawable/ic_dashboard_black_24dp.xml
new file mode 100644
index 0000000..46fc8de
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dashboard_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
+</vector>
diff --git a/app/src/main/res/drawable/ic_home_black_24dp.xml b/app/src/main/res/drawable/ic_home_black_24dp.xml
new file mode 100644
index 0000000..f8bb0b5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_home_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
+</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index e01dd84..07d5da9 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -2,169 +2,169 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="108dp"
     android:height="108dp"
-    android:viewportHeight="108"
-    android:viewportWidth="108">
+    android:viewportWidth="108"
+    android:viewportHeight="108">
     <path
-        android:fillColor="#008577"
+        android:fillColor="#3DDC84"
         android:pathData="M0,0h108v108h-108z" />
     <path
         android:fillColor="#00000000"
         android:pathData="M9,0L9,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,0L19,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M29,0L29,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M39,0L39,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M49,0L49,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M59,0L59,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M69,0L69,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M79,0L79,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M89,0L89,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M99,0L99,108"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,9L108,9"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,19L108,19"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,29L108,29"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,39L108,39"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,49L108,49"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,59L108,59"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,69L108,69"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,79L108,79"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,89L108,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M0,99L108,99"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,29L89,29"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,39L89,39"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,49L89,49"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,59L89,59"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,69L89,69"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M19,79L89,79"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M29,19L29,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M39,19L39,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M49,19L49,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M59,19L59,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M69,19L69,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
     <path
         android:fillColor="#00000000"
         android:pathData="M79,19L79,89"
-        android:strokeColor="#33FFFFFF"
-        android:strokeWidth="0.8" />
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
 </vector>
diff --git a/app/src/main/res/drawable/ic_notifications_black_24dp.xml b/app/src/main/res/drawable/ic_notifications_black_24dp.xml
new file mode 100644
index 0000000..78b75c3
--- /dev/null
+++ b/app/src/main/res/drawable/ic_notifications_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
+</vector>
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 9cc3693..28c5d9f 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -20,7 +20,7 @@
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
         android:layout_marginTop="50dp"
-        android:src="@mipmap/app_icon"
+        android:src="@mipmap/ic_launcher"
         android:adjustViewBounds="true"
         app:layout_constraintTop_toBottomOf="@id/title_bar"
         app:layout_constraintLeft_toLeftOf="parent"
diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml
index ad20990..9003eef 100644
--- a/app/src/main/res/layout/activity_splash.xml
+++ b/app/src/main/res/layout/activity_splash.xml
@@ -6,12 +6,16 @@
     android:layout_height="match_parent"
     android:orientation="vertical" >
 
-    <ImageView
+
+    <TextView
+        android:text="MVVM\nOPEN"
+        android:textStyle="bold"
+        android:textSize="80dp"
+        android:letterSpacing="0.1"
+        android:textColor="@color/white"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:src="@mipmap/welcom"
-        android:scaleType="centerCrop"
-        />
-
+        android:gravity="center"
+        android:background="@drawable/ic_launcher_background" />
 
 </RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@drawable/ic_launcher_background" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@drawable/ic_launcher_background" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/app_icon.png b/app/src/main/res/mipmap-xxhdpi/app_icon.png
deleted file mode 100644
index a3b089e..0000000
--- a/app/src/main/res/mipmap-xxhdpi/app_icon.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/welcom.png b/app/src/main/res/mipmap-xxxhdpi/welcom.png
deleted file mode 100644
index db9de44..0000000
--- a/app/src/main/res/mipmap-xxxhdpi/welcom.png
+++ /dev/null
Binary files differ

--
Gitblit v1.9.1