@@ -34,6 +34,7 @@ public class LoginService {
3434 final static String TAG = "LoginService" ;
3535 // 自己的用户帐号
3636 private String account ;
37+ private String token ;
3738 private AbortableFuture <LoginInfo > loginInfoFuture ;
3839
3940 private LoginService () {
@@ -62,22 +63,29 @@ public String getAccount() {
6263 }
6364
6465 public LoginInfo getLoginInfo (Context context ) {
65- LoginInfo info = new LoginInfo (account , null );
66+ LoginInfo info = new LoginInfo (account , token );
6667 return info ;
6768 }
6869
6970 void initLogin (LoginInfo loginInfo ) {
7071
7172 }
7273
73- public void login (LoginInfo loginInfo , final RequestCallback <LoginInfo > callback ) {
74- loginInfoFuture = NIMClient .getService (AuthService .class ).login (loginInfo );
74+ public void autoLogin () {
75+ login (getLoginInfo (null ), null );
76+ }
77+
78+ public void login (final LoginInfo loginInfoP , final RequestCallback <LoginInfo > callback ) {
79+ loginInfoFuture = NIMClient .getService (AuthService .class ).login (loginInfoP );
7580 loginInfoFuture .setCallback (new RequestCallback <LoginInfo >() {
7681 @ Override
7782 public void onSuccess (LoginInfo loginInfo ) {
7883 account = loginInfo .getAccount ();
84+ token = loginInfoP .getToken ();
7985 initLogin (loginInfo );
80- callback .onSuccess (loginInfo );
86+ if (callback != null ) {
87+ callback .onSuccess (loginInfo );
88+ }
8189
8290 registerObserver (true );
8391 startLogin ();
@@ -87,14 +95,18 @@ public void onSuccess(LoginInfo loginInfo) {
8795
8896 @ Override
8997 public void onFailed (int code ) {
90- callback .onFailed (code );
91- registerObserver (false );
98+ if (callback != null ) {
99+ callback .onFailed (code );
100+ }
101+ registerObserver (true );
92102 loginInfoFuture = null ;
93103 }
94104
95105 @ Override
96106 public void onException (Throwable exception ) {
97- callback .onException (exception );
107+ if (callback != null ) {
108+ callback .onException (exception );
109+ }
98110 registerObserver (false );
99111 loginInfoFuture = null ;
100112 }
@@ -181,6 +193,7 @@ public void logout() {
181193 // 清理缓存&注销监听&清除状态
182194 DataCacheManager .clearDataCache ();
183195 account = null ;
196+ token = null ;
184197 LoginSyncDataStatusObserver .getInstance ().reset ();
185198 }
186199
0 commit comments