mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-04 18:29:23 +02:00
authentication related things: updates
This commit is contained in:
parent
67eab47313
commit
bb9a9d7fa5
10 changed files with 159 additions and 137 deletions
|
@ -166,7 +166,7 @@
|
||||||
<data android:host="*" android:scheme="opds" />
|
<data android:host="*" android:scheme="opds" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="org.geometerplus.android.fbreader.network.AccountMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
<activity android:name="org.geometerplus.android.fbreader.network.AuthorizationMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
||||||
<activity android:name="org.geometerplus.android.fbreader.network.TopupMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
<activity android:name="org.geometerplus.android.fbreader.network.TopupMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
||||||
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden">
|
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
|
@ -166,7 +166,7 @@
|
||||||
<data android:host="*" android:scheme="opds" />
|
<data android:host="*" android:scheme="opds" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="org.geometerplus.android.fbreader.network.AccountMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
<activity android:name="org.geometerplus.android.fbreader.network.AuthorizationMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
||||||
<activity android:name="org.geometerplus.android.fbreader.network.TopupMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
<activity android:name="org.geometerplus.android.fbreader.network.TopupMenuActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"/>
|
||||||
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden">
|
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
|
@ -246,11 +246,10 @@ public class AuthenticationActivity extends Activity {
|
||||||
|
|
||||||
private void runCustomAuthentication(final String username, final String password) {
|
private void runCustomAuthentication(final String username, final String password) {
|
||||||
final NetworkAuthenticationManager mgr = myLink.authenticationManager();
|
final NetworkAuthenticationManager mgr = myLink.authenticationManager();
|
||||||
mgr.UserNameOption.setValue(username);
|
|
||||||
final Runnable runnable = new Runnable() {
|
final Runnable runnable = new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
mgr.authorise(password);
|
mgr.authorise(username, password);
|
||||||
if (mgr.needsInitialization()) {
|
if (mgr.needsInitialization()) {
|
||||||
mgr.initialize();
|
mgr.initialize();
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,10 +35,10 @@ import org.geometerplus.android.util.PackageUtil;
|
||||||
|
|
||||||
import org.geometerplus.android.fbreader.api.PluginApi;
|
import org.geometerplus.android.fbreader.api.PluginApi;
|
||||||
|
|
||||||
public class AccountMenuActivity extends MenuActivity {
|
public class AuthorizationMenuActivity extends MenuActivity {
|
||||||
public static void runMenu(Context context, INetworkLink link) {
|
public static void runMenu(Context context, INetworkLink link) {
|
||||||
context.startActivity(
|
context.startActivity(
|
||||||
Util.intentByLink(new Intent(context, AccountMenuActivity.class), link)
|
Util.intentByLink(new Intent(context, AuthorizationMenuActivity.class), link)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,10 +69,10 @@ public class AccountMenuActivity extends MenuActivity {
|
||||||
try {
|
try {
|
||||||
final NetworkAuthenticationManager mgr = myLink.authenticationManager();
|
final NetworkAuthenticationManager mgr = myLink.authenticationManager();
|
||||||
if (info.getId().toString().endsWith("/signIn")) {
|
if (info.getId().toString().endsWith("/signIn")) {
|
||||||
Util.runAuthenticationDialog(AccountMenuActivity.this, myLink, null);
|
Util.runAuthenticationDialog(AuthorizationMenuActivity.this, myLink, null);
|
||||||
} else {
|
} else {
|
||||||
final Intent intent = Util.authorizationIntent(myLink, info.getId());
|
final Intent intent = Util.authorizationIntent(myLink, info.getId());
|
||||||
if (PackageUtil.canBeStarted(AccountMenuActivity.this, intent, true)) {
|
if (PackageUtil.canBeStarted(AuthorizationMenuActivity.this, intent, true)) {
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -106,7 +106,7 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!mgr.isAuthorised(true)) {
|
if (!mgr.isAuthorised(true)) {
|
||||||
AccountMenuActivity.runMenu(this, myLink);
|
AuthorizationMenuActivity.runMenu(this, myLink);
|
||||||
}
|
}
|
||||||
} catch (ZLNetworkException e) {
|
} catch (ZLNetworkException e) {
|
||||||
}
|
}
|
||||||
|
@ -122,10 +122,17 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
|
|
||||||
myAccount = mgr.currentAccount();
|
myAccount = mgr.currentAccount();
|
||||||
|
|
||||||
setupUI(true);
|
setupUI(AuthorizationState.Authorized);
|
||||||
|
|
||||||
|
NetworkLibrary.Instance().addChangeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupUI(boolean authorized) {
|
private static enum AuthorizationState {
|
||||||
|
Authorized,
|
||||||
|
NotAuthorized
|
||||||
|
};
|
||||||
|
|
||||||
|
private void setupUI(AuthorizationState state) {
|
||||||
final ZLResource dialogResource = ZLResource.resource("dialog");
|
final ZLResource dialogResource = ZLResource.resource("dialog");
|
||||||
final ZLResource buttonResource = dialogResource.getResource("button");
|
final ZLResource buttonResource = dialogResource.getResource("button");
|
||||||
|
|
||||||
|
@ -142,13 +149,14 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
setTitle(resource.getResource("title").getValue());
|
setTitle(resource.getResource("title").getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!authorized) {
|
switch (state) {
|
||||||
|
case NotAuthorized:
|
||||||
textArea.setText(resource.getResource("notAuthorized").getValue());
|
textArea.setText(resource.getResource("notAuthorized").getValue());
|
||||||
okButton.setText(buttonResource.getResource("authorize").getValue());
|
okButton.setText(buttonResource.getResource("authorize").getValue());
|
||||||
cancelButton.setText(buttonResource.getResource("cancel").getValue());
|
cancelButton.setText(buttonResource.getResource("cancel").getValue());
|
||||||
okButton.setOnClickListener(new View.OnClickListener() {
|
okButton.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
AccountMenuActivity.runMenu(BuyBooksActivity.this, myLink);
|
AuthorizationMenuActivity.runMenu(BuyBooksActivity.this, myLink);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
cancelButton.setOnClickListener(new View.OnClickListener() {
|
cancelButton.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@ -156,7 +164,9 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (myAccount == null) {
|
break;
|
||||||
|
case Authorized:
|
||||||
|
if (myAccount == null) {
|
||||||
textArea.setText(resource.getResource("noAccountInformation").getValue());
|
textArea.setText(resource.getResource("noAccountInformation").getValue());
|
||||||
okButton.setText(buttonResource.getResource("refresh").getValue());
|
okButton.setText(buttonResource.getResource("refresh").getValue());
|
||||||
cancelButton.setText(buttonResource.getResource("cancel").getValue());
|
cancelButton.setText(buttonResource.getResource("cancel").getValue());
|
||||||
|
@ -225,18 +235,14 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
okButton.setVisibility(View.GONE);
|
okButton.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onDestroy() {
|
||||||
super.onStart();
|
|
||||||
NetworkLibrary.Instance().addChangeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStop() {
|
|
||||||
NetworkLibrary.Instance().removeChangeListener(this);
|
NetworkLibrary.Instance().removeChangeListener(this);
|
||||||
super.onStop();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -285,7 +291,7 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
if (updated) {
|
if (updated) {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
setupUI(true);
|
setupUI(AuthorizationState.Authorized);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -342,23 +348,29 @@ public class BuyBooksActivity extends Activity implements NetworkLibrary.ChangeL
|
||||||
|
|
||||||
// method from NetworkLibrary.ChangeListener
|
// method from NetworkLibrary.ChangeListener
|
||||||
public void onLibraryChanged(final NetworkLibrary.ChangeListener.Code code, final Object[] params) {
|
public void onLibraryChanged(final NetworkLibrary.ChangeListener.Code code, final Object[] params) {
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
public void run() {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case SignedIn:
|
case SignedIn:
|
||||||
updateAuthorizationState();
|
updateAuthorizationState();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void updateAuthorizationState() {
|
private void updateAuthorizationState() {
|
||||||
final NetworkAuthenticationManager mgr = myLink.authenticationManager();
|
final NetworkAuthenticationManager mgr = myLink.authenticationManager();
|
||||||
try {
|
try {
|
||||||
if (mgr.isAuthorised(true)) {
|
if (mgr.isAuthorised(true)) {
|
||||||
|
setupUI(AuthorizationState.Authorized);
|
||||||
refreshAccountInformation();
|
refreshAccountInformation();
|
||||||
} else {
|
} else {
|
||||||
setupUI(false);
|
setupUI(AuthorizationState.NotAuthorized);
|
||||||
}
|
}
|
||||||
} catch (ZLNetworkException e) {
|
} catch (ZLNetworkException e) {
|
||||||
setupUI(false);
|
e.printStackTrace();
|
||||||
|
setupUI(AuthorizationState.NotAuthorized);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,6 @@ public class ListenerCallback extends BroadcastReceiver implements UserRegistrat
|
||||||
if (mgr instanceof LitResAuthenticationManager) {
|
if (mgr instanceof LitResAuthenticationManager) {
|
||||||
try {
|
try {
|
||||||
processSignup((LitResAuthenticationManager)mgr, intent);
|
processSignup((LitResAuthenticationManager)mgr, intent);
|
||||||
library.fireModelChangedEvent(NetworkLibrary.ChangeListener.Code.SignedIn);
|
|
||||||
} catch (ZLNetworkException e) {
|
} catch (ZLNetworkException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -64,7 +63,10 @@ public class ListenerCallback extends BroadcastReceiver implements UserRegistrat
|
||||||
// throw new ZLNetworkException(NetworkException.ERROR_AUTHENTICATION_FAILED);
|
// throw new ZLNetworkException(NetworkException.ERROR_AUTHENTICATION_FAILED);
|
||||||
//}
|
//}
|
||||||
try {
|
try {
|
||||||
mgr.authorise(data.getStringExtra(USER_REGISTRATION_PASSWORD));
|
mgr.authorise(
|
||||||
|
data.getStringExtra(USER_REGISTRATION_USERNAME),
|
||||||
|
data.getStringExtra(USER_REGISTRATION_PASSWORD)
|
||||||
|
);
|
||||||
mgr.initialize();
|
mgr.initialize();
|
||||||
} catch (ZLNetworkException e) {
|
} catch (ZLNetworkException e) {
|
||||||
mgr.logOut();
|
mgr.logOut();
|
||||||
|
|
|
@ -95,7 +95,7 @@ public abstract class Util implements UserRegistrationConstants {
|
||||||
|
|
||||||
final Intent intent = intentByLink(new Intent(activity, AuthenticationActivity.class), link);
|
final Intent intent = intentByLink(new Intent(activity, AuthenticationActivity.class), link);
|
||||||
AuthenticationActivity.registerRunnable(intent, onSuccess);
|
AuthenticationActivity.registerRunnable(intent, onSuccess);
|
||||||
intent.putExtra(AuthenticationActivity.USERNAME_KEY, mgr.UserNameOption.getValue());
|
intent.putExtra(AuthenticationActivity.USERNAME_KEY, mgr.getUserName());
|
||||||
intent.putExtra(AuthenticationActivity.SCHEME_KEY, "https");
|
intent.putExtra(AuthenticationActivity.SCHEME_KEY, "https");
|
||||||
intent.putExtra(AuthenticationActivity.CUSTOM_AUTH_KEY, true);
|
intent.putExtra(AuthenticationActivity.CUSTOM_AUTH_KEY, true);
|
||||||
activity.startActivity(intent);
|
activity.startActivity(intent);
|
||||||
|
|
|
@ -67,7 +67,7 @@ public class SignOutAction extends Action {
|
||||||
public String getOptionsLabel(NetworkTree tree) {
|
public String getOptionsLabel(NetworkTree tree) {
|
||||||
final NetworkAuthenticationManager mgr = tree.getLink().authenticationManager();
|
final NetworkAuthenticationManager mgr = tree.getLink().authenticationManager();
|
||||||
final String userName =
|
final String userName =
|
||||||
mgr != null && mgr.mayBeAuthorised(false) ? mgr.UserNameOption.getValue() : "";
|
mgr != null && mgr.mayBeAuthorised(false) ? mgr.getVisibleUserName() : "";
|
||||||
return super.getOptionsLabel(tree).replace("%s", userName);
|
return super.getOptionsLabel(tree).replace("%s", userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ public class SignOutAction extends Action {
|
||||||
public String getContextLabel(NetworkTree tree) {
|
public String getContextLabel(NetworkTree tree) {
|
||||||
final NetworkAuthenticationManager mgr = tree.getLink().authenticationManager();
|
final NetworkAuthenticationManager mgr = tree.getLink().authenticationManager();
|
||||||
final String userName =
|
final String userName =
|
||||||
mgr != null && mgr.mayBeAuthorised(false) ? mgr.UserNameOption.getValue() : "";
|
mgr != null && mgr.mayBeAuthorised(false) ? mgr.getVisibleUserName() : "";
|
||||||
return super.getContextLabel(tree).replace("%s", userName);
|
return super.getContextLabel(tree).replace("%s", userName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,18 +48,27 @@ public abstract class NetworkAuthenticationManager {
|
||||||
|
|
||||||
|
|
||||||
public final INetworkLink Link;
|
public final INetworkLink Link;
|
||||||
public final ZLStringOption UserNameOption;
|
protected final ZLStringOption UserNameOption;
|
||||||
|
|
||||||
protected NetworkAuthenticationManager(INetworkLink link) {
|
protected NetworkAuthenticationManager(INetworkLink link) {
|
||||||
Link = link;
|
Link = link;
|
||||||
UserNameOption = new ZLStringOption(link.getSiteName(), "userName", "");
|
UserNameOption = new ZLStringOption(link.getSiteName(), "userName", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return UserNameOption.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVisibleUserName() {
|
||||||
|
final String username = getUserName();
|
||||||
|
return username.startsWith("fbreader-auto-") ? "auto" : username;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common manager methods
|
* Common manager methods
|
||||||
*/
|
*/
|
||||||
public abstract boolean isAuthorised(boolean useNetwork /* = true */) throws ZLNetworkException;
|
public abstract boolean isAuthorised(boolean useNetwork /* = true */) throws ZLNetworkException;
|
||||||
public abstract void authorise(String password) throws ZLNetworkException;
|
public abstract void authorise(String username, String password) throws ZLNetworkException;
|
||||||
public abstract void logOut();
|
public abstract void logOut();
|
||||||
public abstract BookUrlInfo downloadReference(NetworkBookItem book);
|
public abstract BookUrlInfo downloadReference(NetworkBookItem book);
|
||||||
public abstract void refreshAccountInformation() throws ZLNetworkException;
|
public abstract void refreshAccountInformation() throws ZLNetworkException;
|
||||||
|
|
|
@ -81,12 +81,16 @@ public class LitResAuthenticationManager extends NetworkAuthenticationManager {
|
||||||
myCanRebillOption = new ZLBooleanOption(link.getSiteName(), "canRebill", false);
|
myCanRebillOption = new ZLBooleanOption(link.getSiteName(), "canRebill", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void initUser(String userName, String sid, String userId, boolean canRebill) {
|
public synchronized void initUser(String username, String sid, String userId, boolean canRebill) {
|
||||||
UserNameOption.setValue(userName);
|
if (username == null) {
|
||||||
|
username = UserNameOption.getValue();
|
||||||
|
} else {
|
||||||
|
UserNameOption.setValue(username);
|
||||||
|
}
|
||||||
mySidOption.setValue(sid);
|
mySidOption.setValue(sid);
|
||||||
myUserIdOption.setValue(userId);
|
myUserIdOption.setValue(userId);
|
||||||
myCanRebillOption.setValue(canRebill);
|
myCanRebillOption.setValue(canRebill);
|
||||||
myFullyInitialized = !"".equals(userName) && !"".equals(sid) && !"".equals(userId);
|
myFullyInitialized = !"".equals(username) && !"".equals(sid) && !"".equals(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -95,13 +99,17 @@ public class LitResAuthenticationManager extends NetworkAuthenticationManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void logOut(boolean full) {
|
private synchronized void logOut(boolean full) {
|
||||||
|
if ("".equals(mySidOption.getValue())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (full) {
|
if (full) {
|
||||||
initUser(UserNameOption.getValue(), "", "", false);
|
initUser(null, "", "", false);
|
||||||
} else {
|
} else {
|
||||||
myFullyInitialized = false;
|
myFullyInitialized = false;
|
||||||
}
|
}
|
||||||
myInitializedDataSid = null;
|
myInitializedDataSid = null;
|
||||||
myPurchasedBooks.clear();
|
myPurchasedBooks.clear();
|
||||||
|
NetworkLibrary.Instance().fireModelChangedEvent(NetworkLibrary.ChangeListener.Code.SignedIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -136,7 +144,7 @@ public class LitResAuthenticationManager extends NetworkAuthenticationManager {
|
||||||
}
|
}
|
||||||
request.addPostParameter("sid", sid);
|
request.addPostParameter("sid", sid);
|
||||||
ZLNetworkManager.Instance().perform(request);
|
ZLNetworkManager.Instance().perform(request);
|
||||||
initUser(UserNameOption.getValue(), xmlReader.Sid, xmlReader.UserId, xmlReader.CanRebill);
|
initUser(null, xmlReader.Sid, xmlReader.UserId, xmlReader.CanRebill);
|
||||||
return true;
|
return true;
|
||||||
} catch (ZLNetworkException e) {
|
} catch (ZLNetworkException e) {
|
||||||
if (NetworkException.ERROR_AUTHENTICATION_FAILED.equals(e.getCode())) {
|
if (NetworkException.ERROR_AUTHENTICATION_FAILED.equals(e.getCode())) {
|
||||||
|
@ -148,38 +156,30 @@ public class LitResAuthenticationManager extends NetworkAuthenticationManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void authorise(String password) throws ZLNetworkException {
|
public void authorise(String username, String password) throws ZLNetworkException {
|
||||||
final Map<String,String> params = new HashMap<String,String>();
|
final Map<String,String> params = new HashMap<String,String>();
|
||||||
final String url = parseUrl(Link.getUrl(UrlInfo.Type.SignIn), params);
|
final String url = parseUrl(Link.getUrl(UrlInfo.Type.SignIn), params);
|
||||||
if (url == null) {
|
if (url == null) {
|
||||||
throw new ZLNetworkException(NetworkException.ERROR_UNSUPPORTED_OPERATION);
|
throw new ZLNetworkException(NetworkException.ERROR_UNSUPPORTED_OPERATION);
|
||||||
}
|
}
|
||||||
final String login;
|
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
login = UserNameOption.getValue();
|
UserNameOption.setValue(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
final LitResLoginXMLReader xmlReader = new LitResLoginXMLReader(Link.getSiteName());
|
|
||||||
|
|
||||||
ZLNetworkException exception = null;
|
|
||||||
try {
|
try {
|
||||||
|
final LitResLoginXMLReader xmlReader = new LitResLoginXMLReader(Link.getSiteName());
|
||||||
final LitResNetworkRequest request = new LitResNetworkRequest(url, xmlReader);
|
final LitResNetworkRequest request = new LitResNetworkRequest(url, xmlReader);
|
||||||
for (Map.Entry<String,String> entry : params.entrySet()) {
|
for (Map.Entry<String,String> entry : params.entrySet()) {
|
||||||
request.addPostParameter(entry.getKey(), entry.getValue());
|
request.addPostParameter(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
request.addPostParameter("login", login);
|
request.addPostParameter("login", username);
|
||||||
request.addPostParameter("pwd", password);
|
request.addPostParameter("pwd", password);
|
||||||
ZLNetworkManager.Instance().perform(request);
|
ZLNetworkManager.Instance().perform(request);
|
||||||
|
NetworkLibrary.Instance().fireModelChangedEvent(NetworkLibrary.ChangeListener.Code.SignedIn);
|
||||||
|
initUser(null, xmlReader.Sid, xmlReader.UserId, xmlReader.CanRebill);
|
||||||
} catch (ZLNetworkException e) {
|
} catch (ZLNetworkException e) {
|
||||||
exception = e;
|
|
||||||
}
|
|
||||||
|
|
||||||
synchronized (this) {
|
|
||||||
if (exception != null) {
|
|
||||||
logOut(false);
|
logOut(false);
|
||||||
throw exception;
|
throw e;
|
||||||
}
|
|
||||||
initUser(UserNameOption.getValue(), xmlReader.Sid, xmlReader.UserId, xmlReader.CanRebill);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue