123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package com.yyrh.ui.dialog;
- import android.app.Activity;
- import android.app.Dialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.SharedPreferences;
- import android.os.Looper;
- import android.util.TypedValue;
- import android.view.Gravity;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.TextView;
- import com.yyrh.networking.NetRequestApi;
- import com.yyrh.sdk.YyrhSdkManager;
- import com.yyrh.sdk.callback.LoginCallback;
- import com.yyrh.utils.ResourceUtil;
- import com.yyrh.utils.TosUtil;
- import java.util.Timer;
- import java.util.TimerTask;
- public class AutoLoginDialog extends Dialog {
- private static TextView qj_auto_login_account_text,qj_auto_login_cancel_text;
- private static AutoLoginDialog dialog;
- private static Timer timer;
- public AutoLoginDialog(Context context, int theme) {
- super(context, theme);
- }
- public static class Builder{
- private Context context;
- private OnClickListener positiveButtonClickListener;
- private CloseDialogCallback closeDialogCallback;
- public Builder(Context context){ this.context = context;}
- public Builder setPositiveButton(OnClickListener listener){
- this.positiveButtonClickListener = listener;
- return this;
- }
- public Builder setCloseDialogCallback(CloseDialogCallback closeDialogCallback){
- this.closeDialogCallback = closeDialogCallback;
- return this;
- }
- public void dialogDismiss(){
- if (timer != null){
- timer.cancel();
- }
- dialog.dismiss();
- }
- public AutoLoginDialog Create(){
- {
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- dialog = new AutoLoginDialog(context,ResourceUtil.getStyleId(context,"qj_auto_login_dialog"));
- View layout = inflater.inflate(ResourceUtil.getLayoutId(context, "qj_quick_login_bar"),null);
- ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
- Window window = dialog.getWindow();
- window.setGravity(Gravity.TOP);
- WindowManager.LayoutParams lp = window.getAttributes();
- lp.y = dp2Px(50, context); //设置出现的高度,距离顶部
- window.setAttributes(lp);
- dialog.addContentView(layout,layoutParams);
- qj_auto_login_cancel_text =dialog.findViewById(ResourceUtil.getId(context,
- "qj_auto_login_cancel_text"));
- qj_auto_login_account_text =dialog.findViewById(ResourceUtil.getId(context,
- "qj_auto_login_account_text"));
- if (qj_auto_login_cancel_text!=null){
- qj_auto_login_cancel_text.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (timer != null){
- timer.cancel();
- }
- timer = null;
- positiveButtonClickListener.onClick(dialog,DialogInterface.BUTTON_POSITIVE);
- }
- });
- }
- SharedPreferences sp = context.getSharedPreferences("yyrh", Activity.MODE_PRIVATE);
- String qj_enter_game_tip = context.getString(ResourceUtil.getStringId(context,"qj_enter_game_tip"));
- String autoTip = sp.getString("username", "") + qj_enter_game_tip;
- qj_auto_login_account_text.setText(autoTip);
- dialog.setCancelable(false);
- timer = new Timer();
- timer.schedule(task, 2000);
- return dialog;
- }
- }
- TimerTask task = new TimerTask() {
- @Override
- public void run() {
- Looper.prepare();
- dialogDismiss();
- SharedPreferences sp = context.getSharedPreferences("yyrh", Activity.MODE_PRIVATE);
- final String account = sp.getString("username", "");
- final String pwd = sp.getString("password", "");
- final String login_token = sp.getString("login_token", "");
- NetRequestApi.loginWithYy(false,(Activity) context,account,pwd,login_token, new LoginCallback() {
- @Override
- public void onLoginSuccess(String token) {
- closeDialogCallback.onclose();
- YyrhSdkManager.defaultManager(context).saveUserLoginInfo(context,account,pwd,login_token,token);
- }
- @Override
- public void onLoginFailed(String msg) {
- new TosUtil(context,TosUtil.TOAST_ERROR, msg).show();
- }
- @Override
- public void onLoginError(String msg) {
- new TosUtil(context,TosUtil.TOAST_ERROR, msg).show();
- }
- });
- Looper.loop();
- }
- };
- }
- public interface CloseDialogCallback {
- public void onclose();
- }
- public static int dp2Px(float dp, Context mContext) {
- return (int) TypedValue.applyDimension(
- TypedValue.COMPLEX_UNIT_DIP,
- dp,
- mContext.getResources().getDisplayMetrics());
- }
- }
|