From 549a487148522fa4a459967cd6546e22a315ae52 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Mon, 26 Dec 2022 15:17:52 +0000 Subject: [PATCH] 上传歌词 --- app/src/main/java/com/auto/lyric/base/activities/BaseActivity.java | 229 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 216 insertions(+), 13 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 83b2702..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 { @@ -243,19 +250,6 @@ InputMethodManager.HIDE_NOT_ALWAYS); } } - /** - * 状态栏高度 - * @return - */ - public int getStatusBarHeight() { - int result = 0; - int resId = getResources().getIdentifier("status_bar_height", "dimen", "android"); - if (resId > 0) { - result = getResources().getDimensionPixelOffset(resId); - } - return result; - } - long mExitTime= 0 ; /** @@ -280,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 @@ -301,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