From ea6ce17bf3272259295adccbad85583079b5bac0 Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Wed, 22 Feb 2023 14:14:41 +0000
Subject: [PATCH] api调用

---
 app/src/main/java/com/auto/lyric/base/activities/BaseActivity.java |  216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 216 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/auto/lyric/base/activities/BaseActivity.java b/app/src/main/java/com/auto/lyric/base/activities/BaseActivity.java
index df0058d..4f072c1 100644
--- a/app/src/main/java/com/auto/lyric/base/activities/BaseActivity.java
+++ b/app/src/main/java/com/auto/lyric/base/activities/BaseActivity.java
@@ -3,6 +3,7 @@
 import android.Manifest;
 import android.app.AlertDialog;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.pm.ActivityInfo;
 import android.os.Build;
 import android.os.Bundle;
@@ -10,9 +11,11 @@
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
+import android.widget.LinearLayout;
 import android.widget.Toast;
 
 import androidx.annotation.ColorRes;
@@ -25,10 +28,13 @@
 import com.auto.lyric.R;
 import com.auto.lyric.base.model.BaseViewModel;
 import com.auto.lyric.base.model.ViewModelFactory;
+import com.auto.lyric.util.DeviceUtil;
+import com.auto.lyric.util.PreferencesUtils;
 
 import java.io.File;
 import java.lang.reflect.Method;
 import java.lang.reflect.ParameterizedType;
+import java.util.Set;
 
 import dmax.dialog.SpotsDialog;
 
@@ -93,6 +99,7 @@
         }
         Class<VM> vmClass = (Class<VM>) type.getActualTypeArguments()[1];
         viewModel = new ViewModelProvider(this,getViewModelFactory()).get(vmClass);
+        viewModel.onCreate(this);
         setContentView(binding.getRoot());
         mContext = this;
         try {
@@ -267,6 +274,93 @@
         showToast(getString(msg));
     }
 
+    public void showInputDialog(String title, String hint, InputDialogClick confirmClick){
+        showInputDialog(title,hint,"确认",confirmClick);
+    }
+    public void showInputDialog(String title, String hint, String confirm,InputDialogClick confirmClick){
+        showInputDialog(title,hint,confirm,"取消",confirmClick,null);
+    }
+    /**
+     * inputdialog
+     * @param title         标题文本
+     * @param hint          提示文本
+     * @param confirm       确认文本
+     * @param cancle        取消文本
+     * @param confirmClick  确认事件
+     * @param cancleClick   取消事件
+     * @return
+     */
+    public void showInputDialog(String title, String hint, String confirm, String cancle, InputDialogClick confirmClick, InputDialogClick cancleClick){
+        AlertDialog.Builder builder = new AlertDialog.Builder(this);
+        builder.setTitle(title);
+        EditText editText = new EditText(this);
+        editText.setHint(hint);
+        ViewGroup.MarginLayoutParams params = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+        params.setMargins(DeviceUtil.convertDpToPixel(30,this),DeviceUtil.convertDpToPixel(20,this),DeviceUtil.convertDpToPixel(30,this),0);
+        editText.setLayoutParams(params);
+        LinearLayout lin = new LinearLayout(this);
+        lin.addView(editText);
+        builder.setView(lin);
+        builder.setCancelable(false);
+        AlertDialog dialg = builder.create();
+        dialg.setCanceledOnTouchOutside(false);
+        dialg.setCancelable(false);
+        dialg.setButton(AlertDialog.BUTTON_NEGATIVE, confirm, (dialog, which) -> {
+            confirmClick.onClick(dialg,editText,which);
+        });
+        dialg.setButton(AlertDialog.BUTTON_POSITIVE,cancle,(dialog, which) -> {
+            if(cancleClick != null) {
+                cancleClick.onClick(dialg, editText, which);
+            }else{
+                dialg.dismiss();
+            }
+        });
+        dialg.show();
+    }
+
+    protected interface InputDialogClick{
+        void onClick(AlertDialog dialog,EditText editText,int whitch);
+    }
+
+
+    public void showDialog(String title, String hint, DialogInterface.OnClickListener  confirmClick){
+        showDialog(title,hint,"确认",confirmClick);
+    }
+    public void showDialog(String title, String hint, String confirm,DialogInterface.OnClickListener  confirmClick){
+        showDialog(title,hint,confirm,"取消",confirmClick,null);
+    }
+    /**
+     * inputdialog
+     * @param title         标题文本
+     * @param hint          提示文本
+     * @param confirm       确认文本
+     * @param cancle        取消文本
+     * @param confirmClick  确认事件
+     * @param cancleClick   取消事件
+     * @return
+     */
+    public void showDialog(String title, String hint, String confirm, String cancle, DialogInterface.OnClickListener confirmClick, DialogInterface.OnClickListener cancleClick){
+        AlertDialog.Builder builder = new AlertDialog.Builder(this);
+        builder.setTitle(title);
+        builder.setMessage(hint);
+        builder.setCancelable(false);
+        AlertDialog dialg = builder.create();
+        dialg.setCanceledOnTouchOutside(false);
+        dialg.setCancelable(false);
+        dialg.setButton(AlertDialog.BUTTON_NEGATIVE, confirm, (dialog, which) -> {
+            confirmClick.onClick(dialg,which);
+        });
+        dialg.setButton(AlertDialog.BUTTON_POSITIVE,cancle,(dialog, which) -> {
+            if(cancleClick != null) {
+                cancleClick.onClick(dialg, which);
+            }else{
+                dialg.dismiss();
+            }
+        });
+        dialg.show();
+    }
+
+
     /**
      * 获取文件保存路径 sdcard根目录/download/文件名称
      * @param fileUrl
@@ -288,4 +382,126 @@
         return false;
     }
 
+    public boolean getBooleanUserPrefrence(String key){
+        return PreferencesUtils.getBoolean(this,key,false,PreferencesUtils.USER);
+    }
+
+    public boolean getBooleanProjectPrefrence(String key){
+        return PreferencesUtils.getBoolean(this,key,false,PreferencesUtils.PROJECT);
+    }
+
+    public String getStringUserPrefrence(String key){
+        return PreferencesUtils.getString(this,key,"",PreferencesUtils.USER);
+    }
+
+    public String getStringProjectPrefrence(String key){
+        return PreferencesUtils.getString(this,key,"",PreferencesUtils.PROJECT);
+    }
+
+    public Integer getIntProjectPrefrence(String key){
+        return PreferencesUtils.getInt(this,key,0,PreferencesUtils.PROJECT);
+    }
+
+    public Long getLongProjectPrefrence(String key){
+        return PreferencesUtils.getLong(this,key,0,PreferencesUtils.PROJECT);
+    }
+
+    public float getFloatProjectPrefrence(String key){
+        return PreferencesUtils.getFloat(this,key,0,PreferencesUtils.PROJECT);
+    }
+
+    public Set getStringSetProjectPrefrence(String key){
+        return PreferencesUtils.getStringSet(this,key,PreferencesUtils.PROJECT);
+    }
+
+    public Integer getIntUserPrefrence(String key){
+        return PreferencesUtils.getInt(this,key,0,PreferencesUtils.USER);
+    }
+
+    public Long getLongUserPrefrence(String key){
+        return PreferencesUtils.getLong(this,key,0,PreferencesUtils.USER);
+    }
+
+    public float getFloatUserPrefrence(String key){
+        return PreferencesUtils.getFloat(this,key,0,PreferencesUtils.USER);
+    }
+
+    public Set getStringSetUserPrefrence(String key){
+        return PreferencesUtils.getStringSet(this,key,PreferencesUtils.USER);
+    }
+
+
+    public void putBooleanUserPrefrence(String key ,Boolean value){
+        PreferencesUtils.putBoolean(this,key,value,PreferencesUtils.USER);
+    }
+
+    public void putBooleanProjectPrefrence(String key,Boolean value){
+        PreferencesUtils.putBoolean(this,key,value,PreferencesUtils.PROJECT);
+    }
+
+    public void putStringUserPrefrence(String key,String value){
+        PreferencesUtils.putString(this,key,value,PreferencesUtils.USER);
+    }
+
+    public void putStringProjectPrefrence(String key,String value){
+        PreferencesUtils.putString(this,key,value,PreferencesUtils.PROJECT);
+    }
+
+    public void putIntProjectPrefrence(String key,int value){
+        PreferencesUtils.putInt(this,key,value,PreferencesUtils.PROJECT);
+    }
+
+    public void putLongProjectPrefrence(String key,long value){
+        PreferencesUtils.putLong(this,key,value,PreferencesUtils.PROJECT);
+    }
+
+    public void putFloatProjectPrefrence(String key,float value){
+        PreferencesUtils.putFloat(this,key,value,PreferencesUtils.PROJECT);
+    }
+
+    public void putStringSetProjectPrefrence(String key, Set value){
+        PreferencesUtils.putStringSet(this,key,value,PreferencesUtils.PROJECT);
+    }
+
+    public void putIntUserPrefrence(String key,int value){
+        PreferencesUtils.putInt(this,key,value,PreferencesUtils.USER);
+    }
+
+    public void putLongUserPrefrence(String key,long value){
+        PreferencesUtils.putLong(this,key,value,PreferencesUtils.USER);
+    }
+
+    public void putFloatUserPrefrence(String key,float value){
+        PreferencesUtils.putFloat(this,key,value,PreferencesUtils.USER);
+    }
+
+    public void putStringSetUserPrefrence(String key, Set value){
+        PreferencesUtils.putStringSet(this,key,value,PreferencesUtils.USER);
+    }
+
+
+    public void removeUserKey(String key){
+        PreferencesUtils.removeKey(this,key,PreferencesUtils.USER);
+    }
+
+    public void removeProjectKey(String key){
+        PreferencesUtils.removeKey(this,key,PreferencesUtils.PROJECT);
+    }
+
+    public void removeUserValue(String Value){
+        PreferencesUtils.removeValue(this,Value,PreferencesUtils.USER);
+    }
+
+    public void removeProjectValue(String Value){
+        PreferencesUtils.removeValue(this,Value,PreferencesUtils.PROJECT);
+    }
+
+
+    public void clearProjectData(){
+        PreferencesUtils.clearData(this,PreferencesUtils.PROJECT);
+    }
+    public void clearUserData(){
+        PreferencesUtils.clearData(this,PreferencesUtils.USER);
+    }
+
 }

--
Gitblit v1.9.1