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());
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());
viewTop = AndroidUtilities.dp(5);

View file

@ -299,17 +299,15 @@ public class ExternalActionActivity extends Activity implements ActionBarLayout.
progressDialog.setCancelable(false);
final int bot_id = intent.getIntExtra("bot_id", 0);
String _payload=intent.getStringExtra("nonce");
if(TextUtils.isEmpty(_payload))
_payload=intent.getStringExtra("payload");
final String payload = _payload;
final String nonce = intent.getStringExtra("nonce");
final String payload = intent.getStringExtra("payload");
final TLRPC.TL_account_getAuthorizationForm req = new TLRPC.TL_account_getAuthorizationForm();
req.bot_id = bot_id;
req.scope = intent.getStringExtra("scope");
req.public_key = intent.getStringExtra("public_key");
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();
return false;
}
@ -328,7 +326,7 @@ public class ExternalActionActivity extends Activity implements ActionBarLayout.
if (response1 != null) {
TLRPC.TL_account_password accountPassword = (TLRPC.TL_account_password) response1;
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);
if (AndroidUtilities.isTablet()) {
layersActionBarLayout.addFragmentToStack(fragment);

View file

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

View file

@ -189,6 +189,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
private int currentActivityType;
private int currentBotId;
private String currentPayload;
private String currentNonce;
private boolean useCurrentValue;
private String currentScope;
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);
currentBotId = botId;
currentPayload = payload;
currentNonce = nonce;
currentScope = scope;
currentPublicKey = publicKey;
currentCallbackUrl = callbackUrl;
@ -1699,7 +1701,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
} else {
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.currentAccount = currentAccount;
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();
EncryptionResult encryptionResult = encryptData(AndroidUtilities.getStringBytes(json));

View file

@ -386,7 +386,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
builder.setCustomView(linearLayout);
showDialog(builder.create());
} 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));
}
});