From 55a5784c2d3f2f8a69c670294a64e65debaf4c53 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Fri, 03 Jun 2022 14:38:14 +0000 Subject: [PATCH] 注册 --- app/src/main/java/com/auto/lyric/MainActivity.java | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/auto/lyric/MainActivity.java b/app/src/main/java/com/auto/lyric/MainActivity.java index e0ac153..2bee5ac 100644 --- a/app/src/main/java/com/auto/lyric/MainActivity.java +++ b/app/src/main/java/com/auto/lyric/MainActivity.java @@ -6,27 +6,63 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Log; +import android.view.ViewGroup; +import android.widget.EditText; +import android.widget.LinearLayout; import android.widget.Toast; +import androidx.appcompat.app.AlertDialog; + import com.auto.lyric.base.activities.BaseActivity; +import com.auto.lyric.data.ActiveResult; import com.auto.lyric.data.LyricServer; import com.auto.lyric.data.TextBean; +import com.auto.lyric.data.UserInfo; import com.auto.lyric.databinding.ActivityMainBinding; +import com.auto.lyric.retrofit.observable.LoadingHttpObserver; import com.auto.lyric.service.AutoInputService; import com.auto.lyric.service.FloatingWindowService; +import com.auto.lyric.util.DeviceUtil; import com.auto.lyric.vm.MainViewModel; +import com.google.gson.Gson; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.regex.Pattern; public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); @Override public void initViews() { Intent floatService = new Intent(getApplicationContext(), FloatingWindowService.class); + String key = getStringProjectPrefrence("activeKey"); + UserInfo result = new Gson().fromJson(key,UserInfo.class); + try { + if(TextUtils.isEmpty(key) || TextUtils.isEmpty(result.keyDateValid)|| + new Date().getTime() > dateFormat.parse(result.keyDateValid).getTime()){ + activeDialog(); + }else{ + + viewModel.checkActive(result.userId,result.activeKey,new LoadingHttpObserver<ActiveResult>(this) { + + @Override + public void onError(ActiveResult error) { + super.onError(error); + } + + @Override + public void onComplete(ActiveResult result) { + } + }); + } + } catch (ParseException e) { + e.printStackTrace(); + } + binding.button.setOnClickListener(v -> { if(binding.edit.getText().toString().trim().length() == 0){ @@ -118,4 +154,38 @@ } + private void activeDialog(){ + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle("软件尚未激活或已过期"); + EditText editText = new EditText(this); + editText.setHint("请输入激活码"); + 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.setButton(AlertDialog.BUTTON_NEGATIVE,"激活", (dialog, which) -> { + viewModel.register(editText.getText().toString().trim(),new LoadingHttpObserver<ActiveResult>(this) { + + @Override + public void onError(ActiveResult error) { + super.onError(error); + dialg.show(); + } + + @Override + public void onComplete(ActiveResult result) { + putStringProjectPrefrence("activeKey",new Gson().toJson(result.userInfo)); + } + }); + }); + dialg.setButton(AlertDialog.BUTTON_POSITIVE,"退出程序",(dialog,which) ->{ + System.exit(0); + }); + dialg.show(); + } + } \ No newline at end of file -- Gitblit v1.9.1