| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | } |
| | | Class<VM> vmClass = (Class<VM>) type.getActualTypeArguments()[1]; |
| | | viewModel = new ViewModelProvider(this,getViewModelFactory()).get(vmClass); |
| | | viewModel.onCreate(this); |
| | | setContentView(binding.getRoot()); |
| | | mContext = this; |
| | | try { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 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) -> { |
| | | cancleClick.onClick(dialg,editText,which); |
| | | }); |
| | | dialg.show(); |
| | | } |
| | | |
| | | protected interface InputDialogClick{ |
| | | void onClick(AlertDialog dialog,EditText editText,int whitch); |
| | | } |
| | | |
| | | /** |
| | | * 获取文件保存路径 sdcard根目录/download/文件名称 |
| | | * @param fileUrl |
| | | * @return |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |