소스 검색

After the user is kicked out, he cannot bounce back to the login interface from the online enum selection interface -- 用户被踢出后,无法从online enum 选择界面弹回登陆界面(resolve: #14617)

Ray Zhang 4 년 전
부모
커밋
0c634f9d88

+ 17 - 0
ApexDrivers/CommonEditorLib/src/main/java/com/usai/commoneditorlib/EnumSlectOnlineActivity.java

@@ -23,6 +23,7 @@ import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
 import com.usai.redant.rautils.application.RedantApplication;
@@ -37,6 +38,7 @@ import org.w3c.dom.Text;
 
 import java.io.Serializable;
 
+import static com.usai.redant.rautils.utils.Network.RESULT_LOGIN_ON_OTHER_DEVICE;
 import static com.usai.redant.rautils.utils.RAUtil.getJsonFromAsset;
 import static java.lang.Thread.sleep;
 
@@ -261,6 +263,21 @@ public class EnumSlectOnlineActivity extends AppCompatActivity
                                 adapter.notifyDataSetChanged();
 
                             }
+                            else if(result == RESULT_LOGIN_ON_OTHER_DEVICE)
+                            {
+                                Intent bintent = new Intent("Kickout");
+                                bintent.putExtra("state", true);
+                                String msg=finalResult_json.optString("err_msg");
+                                if(!TextUtils.isEmpty(msg))
+                                {
+                                    bintent.putExtra("msg", msg);
+                                }
+
+
+                                LocalBroadcastManager.getInstance(RedantApplication.getInstance())
+                                        .sendBroadcast(bintent);
+                            }
+
                             else
                             {
                                 RAUtil.alertMessage(mCtx, "", finalResult_json.optString("err_msg"));

+ 1 - 1
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/Network.java

@@ -77,7 +77,7 @@ public class Network {
     public static final int		RESULT_VER_LOW					= -15;
     public static int			RESULT_AUTH_EXPIRED				= 99;
 
-
+    public static final int		RESULT_LOGIN_ON_OTHER_DEVICE					= -1;
 //    public static void handleSSLHandshake() {
 //        try {
 //            TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {

+ 10 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/RootActivity.java

@@ -183,6 +183,7 @@ public class RootActivity extends BasicActivity {
                 .getInstance(this);
         IntentFilter intentFilter = new IntentFilter();
         intentFilter.addAction("Login");
+        intentFilter.addAction("Kickout");
 //        intentFilter.addAction(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
 
         br = new BroadcastReceiver() {
@@ -233,7 +234,15 @@ public class RootActivity extends BasicActivity {
 
 
                 }
-
+                else if(intent.getAction().equals("Kickout"))
+                {
+                    boolean bkickout = intent.getBooleanExtra("state",false);
+                    String msg = intent.getStringExtra("msg");
+                    if(bkickout)
+                    {
+                        TradeFilingApplication.logout(msg);
+                    }
+                }
 
             }
 

+ 1 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/dataprovider/OnlineDataProvider.java

@@ -69,7 +69,7 @@ public class OnlineDataProvider extends com.usai.redant.rautils.utils.Network
 																													// 20
 																													// secs;
 
-	public static final int		RESULT_LOGIN_ON_OTHER_DEVICE					= -1;
+
 
 	public static final int		RESULT_ERROR					= 1;
 //	public static int			AP_USER_AUTH					= 1;