Bug fixes

This commit is contained in:
DrKLO 2018-08-29 01:59:16 +03:00
parent 5972d1d69f
commit 75d782181e
5 changed files with 25 additions and 13 deletions

View file

@ -88,7 +88,11 @@ public class TextCell extends FrameLayout {
valueTextView.layout(viewLeft, viewTop, viewLeft + valueTextView.getMeasuredWidth(), viewTop + valueTextView.getMeasuredHeight()); valueTextView.layout(viewLeft, viewTop, viewLeft + valueTextView.getMeasuredWidth(), viewTop + valueTextView.getMeasuredHeight());
viewTop = (height - textView.getTextHeight()) / 2; viewTop = (height - textView.getTextHeight()) / 2;
viewLeft = !LocaleController.isRTL ? AndroidUtilities.dp(71) : AndroidUtilities.dp(24); if (LocaleController.isRTL) {
viewLeft = getMeasuredWidth() - textView.getMeasuredWidth() - AndroidUtilities.dp(71);
} else {
viewLeft = AndroidUtilities.dp(71);
}
textView.layout(viewLeft, viewTop, viewLeft + textView.getMeasuredWidth(), viewTop + textView.getMeasuredHeight()); textView.layout(viewLeft, viewTop, viewLeft + textView.getMeasuredWidth(), viewTop + textView.getMeasuredHeight());
viewTop = AndroidUtilities.dp(5); viewTop = AndroidUtilities.dp(5);

View file

@ -299,17 +299,15 @@ public class ExternalActionActivity extends Activity implements ActionBarLayout.
progressDialog.setCancelable(false); progressDialog.setCancelable(false);
final int bot_id = intent.getIntExtra("bot_id", 0); final int bot_id = intent.getIntExtra("bot_id", 0);
String _payload=intent.getStringExtra("nonce"); final String nonce = intent.getStringExtra("nonce");
if(TextUtils.isEmpty(_payload)) final String payload = intent.getStringExtra("payload");
_payload=intent.getStringExtra("payload");
final String payload = _payload;
final TLRPC.TL_account_getAuthorizationForm req = new TLRPC.TL_account_getAuthorizationForm(); final TLRPC.TL_account_getAuthorizationForm req = new TLRPC.TL_account_getAuthorizationForm();
req.bot_id = bot_id; req.bot_id = bot_id;
req.scope = intent.getStringExtra("scope"); req.scope = intent.getStringExtra("scope");
req.public_key = intent.getStringExtra("public_key"); req.public_key = intent.getStringExtra("public_key");
final int[] requestId = {0}; final int[] requestId = {0};
if (bot_id == 0 || TextUtils.isEmpty(payload) || TextUtils.isEmpty(req.scope) || TextUtils.isEmpty(req.public_key)) { if (bot_id == 0 || TextUtils.isEmpty(payload) && TextUtils.isEmpty(nonce) || TextUtils.isEmpty(req.scope) || TextUtils.isEmpty(req.public_key)) {
finish(); finish();
return false; return false;
} }
@ -328,7 +326,7 @@ public class ExternalActionActivity extends Activity implements ActionBarLayout.
if (response1 != null) { if (response1 != null) {
TLRPC.TL_account_password accountPassword = (TLRPC.TL_account_password) response1; TLRPC.TL_account_password accountPassword = (TLRPC.TL_account_password) response1;
MessagesController.getInstance(intentAccount).putUsers(authorizationForm.users, false); MessagesController.getInstance(intentAccount).putUsers(authorizationForm.users, false);
PassportActivity fragment = new PassportActivity(PassportActivity.TYPE_PASSWORD, req.bot_id, req.scope, req.public_key, payload, null, authorizationForm, accountPassword); PassportActivity fragment = new PassportActivity(PassportActivity.TYPE_PASSWORD, req.bot_id, req.scope, req.public_key, payload, nonce, null, authorizationForm, accountPassword);
fragment.setNeedActivityResult(true); fragment.setNeedActivityResult(true);
if (AndroidUtilities.isTablet()) { if (AndroidUtilities.isTablet()) {
layersActionBarLayout.addFragmentToStack(fragment); layersActionBarLayout.addFragmentToStack(fragment);

View file

@ -1123,7 +1123,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
auth = new HashMap<>(); auth = new HashMap<>();
String scope = data.getQueryParameter("scope"); String scope = data.getQueryParameter("scope");
if (!TextUtils.isEmpty(scope) && scope.startsWith("{") && scope.endsWith("}")) { if (!TextUtils.isEmpty(scope) && scope.startsWith("{") && scope.endsWith("}")) {
auth.put("payload", data.getQueryParameter("nonce")); auth.put("nonce", data.getQueryParameter("nonce"));
} else { } else {
auth.put("payload", data.getQueryParameter("payload")); auth.put("payload", data.getQueryParameter("payload"));
} }
@ -1204,7 +1204,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
auth = new HashMap<>(); auth = new HashMap<>();
String scope = data.getQueryParameter("scope"); String scope = data.getQueryParameter("scope");
if (!TextUtils.isEmpty(scope) && scope.startsWith("{") && scope.endsWith("}")) { if (!TextUtils.isEmpty(scope) && scope.startsWith("{") && scope.endsWith("}")) {
auth.put("payload", data.getQueryParameter("nonce")); auth.put("nonce", data.getQueryParameter("nonce"));
} else { } else {
auth.put("payload", data.getQueryParameter("payload")); auth.put("payload", data.getQueryParameter("payload"));
} }
@ -1767,6 +1767,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
return; return;
} }
final String payload = auth.get("payload"); final String payload = auth.get("payload");
final String nonce = auth.get("nonce");
final String callbackUrl = auth.get("callback_url"); final String callbackUrl = auth.get("callback_url");
final TLRPC.TL_account_getAuthorizationForm req = new TLRPC.TL_account_getAuthorizationForm(); final TLRPC.TL_account_getAuthorizationForm req = new TLRPC.TL_account_getAuthorizationForm();
req.bot_id = bot_id; req.bot_id = bot_id;
@ -1785,7 +1786,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
if (response1 != null) { if (response1 != null) {
TLRPC.TL_account_password accountPassword = (TLRPC.TL_account_password) response1; TLRPC.TL_account_password accountPassword = (TLRPC.TL_account_password) response1;
MessagesController.getInstance(intentAccount).putUsers(authorizationForm.users, false); MessagesController.getInstance(intentAccount).putUsers(authorizationForm.users, false);
presentFragment(new PassportActivity(PassportActivity.TYPE_PASSWORD, req.bot_id, req.scope, req.public_key, payload, callbackUrl, authorizationForm, accountPassword)); presentFragment(new PassportActivity(PassportActivity.TYPE_PASSWORD, req.bot_id, req.scope, req.public_key, payload, nonce, callbackUrl, authorizationForm, accountPassword));
} }
})); }));
} else { } else {

View file

@ -189,6 +189,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
private int currentActivityType; private int currentActivityType;
private int currentBotId; private int currentBotId;
private String currentPayload; private String currentPayload;
private String currentNonce;
private boolean useCurrentValue; private boolean useCurrentValue;
private String currentScope; private String currentScope;
private String currentCallbackUrl; private String currentCallbackUrl;
@ -659,10 +660,11 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
} }
} }
public PassportActivity(int type, int botId, String scope, String publicKey, String payload, String callbackUrl, TLRPC.TL_account_authorizationForm form, TLRPC.TL_account_password accountPassword) { public PassportActivity(int type, int botId, String scope, String publicKey, String payload, String nonce, String callbackUrl, TLRPC.TL_account_authorizationForm form, TLRPC.TL_account_password accountPassword) {
this(type, form, accountPassword, null, null, null, null, null, null); this(type, form, accountPassword, null, null, null, null, null, null);
currentBotId = botId; currentBotId = botId;
currentPayload = payload; currentPayload = payload;
currentNonce = nonce;
currentScope = scope; currentScope = scope;
currentPublicKey = publicKey; currentPublicKey = publicKey;
currentCallbackUrl = callbackUrl; currentCallbackUrl = callbackUrl;
@ -1699,7 +1701,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
} else { } else {
type = TYPE_REQUEST; type = TYPE_REQUEST;
} }
PassportActivity activity = new PassportActivity(type, currentBotId, currentScope, currentPublicKey, currentPayload, currentCallbackUrl, currentForm, currentPassword); PassportActivity activity = new PassportActivity(type, currentBotId, currentScope, currentPublicKey, currentPayload, currentNonce, currentCallbackUrl, currentForm, currentPassword);
activity.currentEmail = currentEmail; activity.currentEmail = currentEmail;
activity.currentAccount = currentAccount; activity.currentAccount = currentAccount;
activity.saltedPassword = saltedPassword; activity.saltedPassword = saltedPassword;
@ -2331,6 +2333,13 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
} }
} }
if (currentNonce != null) {
try {
result.put("nonce", currentNonce);
} catch (Exception ignore) {
}
}
String json = result.toString(); String json = result.toString();
EncryptionResult encryptionResult = encryptData(AndroidUtilities.getStringBytes(json)); EncryptionResult encryptionResult = encryptData(AndroidUtilities.getStringBytes(json));

View file

@ -386,7 +386,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
builder.setCustomView(linearLayout); builder.setCustomView(linearLayout);
showDialog(builder.create()); showDialog(builder.create());
} else if (position == passportRow) { } else if (position == passportRow) {
presentFragment(new PassportActivity(PassportActivity.TYPE_PASSWORD, 0, "", "", null, null, null, null)); presentFragment(new PassportActivity(PassportActivity.TYPE_PASSWORD, 0, "", "", null, null, null, null, null));
} }
}); });