Add implementation for update account
This commit is contained in:
+41
-10
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.chromium.chrome.browser.crypto_wallet.activities;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
@@ -16,6 +17,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.crypto_wallet.AssetRatioControllerFactory;
|
||||
import org.chromium.chrome.browser.crypto_wallet.activities.AddAccountActivity;
|
||||
import org.chromium.chrome.browser.crypto_wallet.adapters.WalletCoinAdapter;
|
||||
import org.chromium.chrome.browser.crypto_wallet.listeners.OnWalletListItemClick;
|
||||
import org.chromium.chrome.browser.crypto_wallet.model.WalletListItemModel;
|
||||
@@ -27,15 +29,17 @@ import java.util.List;
|
||||
|
||||
public class AccountDetailActivity
|
||||
extends AsyncInitializationActivity implements OnWalletListItemClick {
|
||||
private String address;
|
||||
private String name;
|
||||
private static final int UPDATE_ACCOUNT_REQUEST_CODE = 2;
|
||||
private String mAddress;
|
||||
private String mName;
|
||||
private TextView mAccountText;
|
||||
@Override
|
||||
protected void triggerLayoutInflation() {
|
||||
setContentView(R.layout.activity_account_detail);
|
||||
|
||||
if (getIntent() != null) {
|
||||
address = getIntent().getStringExtra("address");
|
||||
name = getIntent().getStringExtra("name");
|
||||
mAddress = getIntent().getStringExtra("address");
|
||||
mName = getIntent().getStringExtra("name");
|
||||
}
|
||||
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
@@ -43,11 +47,11 @@ public class AccountDetailActivity
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
getSupportActionBar().setTitle("");
|
||||
|
||||
TextView accountText = findViewById(R.id.account_text);
|
||||
accountText.setText(name);
|
||||
mAccountText = findViewById(R.id.account_text);
|
||||
mAccountText.setText(mName);
|
||||
|
||||
TextView accountValueText = findViewById(R.id.account_value_text);
|
||||
accountValueText.setText(address);
|
||||
accountValueText.setText(mAddress);
|
||||
|
||||
TextView btnDetails = findViewById(R.id.details_btn);
|
||||
btnDetails.setOnClickListener(new View.OnClickListener() {
|
||||
@@ -55,8 +59,8 @@ public class AccountDetailActivity
|
||||
public void onClick(View v) {
|
||||
Intent accountDetailsWithQrActivityIntent =
|
||||
new Intent(AccountDetailActivity.this, AccountDetailsWithQrActivity.class);
|
||||
accountDetailsWithQrActivityIntent.putExtra("address", address);
|
||||
accountDetailsWithQrActivityIntent.putExtra("name", name);
|
||||
accountDetailsWithQrActivityIntent.putExtra("address", mAddress);
|
||||
accountDetailsWithQrActivityIntent.putExtra("name", mName);
|
||||
startActivity(accountDetailsWithQrActivityIntent);
|
||||
}
|
||||
});
|
||||
@@ -64,7 +68,11 @@ public class AccountDetailActivity
|
||||
btnRename.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO add action for edit
|
||||
Intent addAccountActivityIntent =
|
||||
new Intent(AccountDetailActivity.this, AddAccountActivity.class);
|
||||
addAccountActivityIntent.putExtra("address", mAddress);
|
||||
addAccountActivityIntent.putExtra("name", mName);
|
||||
startActivityForResult(addAccountActivityIntent, UPDATE_ACCOUNT_REQUEST_CODE);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -108,6 +116,8 @@ public class AccountDetailActivity
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
Intent returnIntent = new Intent();
|
||||
setResult(Activity.RESULT_OK, returnIntent);
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
@@ -131,4 +141,25 @@ public class AccountDetailActivity
|
||||
|
||||
@Override
|
||||
public void onTransactionClick() {}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
if (requestCode == UPDATE_ACCOUNT_REQUEST_CODE) {
|
||||
if (resultCode == Activity.RESULT_OK && data != null) {
|
||||
mName = data.getStringExtra("name");
|
||||
if (mAccountText != null) {
|
||||
mAccountText.setText(mName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
Intent returnIntent = new Intent();
|
||||
setResult(Activity.RESULT_OK, returnIntent);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
+76
-13
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.crypto_wallet.activities;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
@@ -23,15 +24,51 @@ import org.chromium.mojo.bindings.ConnectionErrorHandler;
|
||||
import org.chromium.mojo.system.MojoException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class AddAccountActivity
|
||||
extends AsyncInitializationActivity implements ConnectionErrorHandler {
|
||||
public enum AccountType {
|
||||
PRIMARY_ACCOUNT(0),
|
||||
SECONDARY_ACCOUNT(1);
|
||||
|
||||
private int value;
|
||||
private static Map map = new HashMap<>();
|
||||
|
||||
private AccountType(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
static {
|
||||
for (AccountType activityType : AccountType.values()) {
|
||||
map.put(activityType.value, activityType);
|
||||
}
|
||||
}
|
||||
|
||||
public static AccountType valueOf(int activityType) {
|
||||
return (AccountType) map.get(activityType);
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
private String mAddress;
|
||||
private String mName;
|
||||
private boolean mIsUpdate;
|
||||
private KeyringController mKeyringController;
|
||||
@Override
|
||||
protected void triggerLayoutInflation() {
|
||||
setContentView(R.layout.activity_add_account);
|
||||
|
||||
if (getIntent() != null) {
|
||||
mAddress = getIntent().getStringExtra("address");
|
||||
mName = getIntent().getStringExtra("name");
|
||||
}
|
||||
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
@@ -39,22 +76,39 @@ public class AddAccountActivity
|
||||
|
||||
EditText addAccountText = findViewById(R.id.add_account_text);
|
||||
|
||||
Button btnBuy = findViewById(R.id.btn_add);
|
||||
btnBuy.setOnClickListener(new View.OnClickListener() {
|
||||
Button btnAdd = findViewById(R.id.btn_add);
|
||||
btnAdd.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// Add account action
|
||||
if (mKeyringController != null) {
|
||||
mKeyringController.addAccount(addAccountText.getText().toString(), result -> {
|
||||
if (result) {
|
||||
Intent returnIntent = new Intent();
|
||||
returnIntent.putExtra("result", result);
|
||||
setResult(Activity.RESULT_OK, returnIntent);
|
||||
finish();
|
||||
} else {
|
||||
addAccountText.setError(getString(R.string.password_error));
|
||||
}
|
||||
});
|
||||
if (mIsUpdate) {
|
||||
mKeyringController.setDefaultKeyringDerivedAccountName(
|
||||
mAddress, addAccountText.getText().toString(), result -> {
|
||||
if (result) {
|
||||
Intent returnIntent = new Intent();
|
||||
returnIntent.putExtra(
|
||||
"name", addAccountText.getText().toString());
|
||||
setResult(Activity.RESULT_OK, returnIntent);
|
||||
finish();
|
||||
} else {
|
||||
addAccountText.setError(
|
||||
getString(R.string.account_update_failed));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
mKeyringController.addAccount(
|
||||
addAccountText.getText().toString(), result -> {
|
||||
if (result) {
|
||||
Intent returnIntent = new Intent();
|
||||
returnIntent.putExtra("result", result);
|
||||
setResult(Activity.RESULT_OK, returnIntent);
|
||||
finish();
|
||||
} else {
|
||||
addAccountText.setError(
|
||||
getString(R.string.account_name_empty_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -82,6 +136,15 @@ public class AddAccountActivity
|
||||
}
|
||||
});
|
||||
|
||||
if (!TextUtils.isEmpty(mAddress) && !TextUtils.isEmpty(mName)) {
|
||||
btnAdd.setText(getResources().getString(R.string.update));
|
||||
addAccountText.setText(mName);
|
||||
getSupportActionBar().setTitle(getResources().getString(R.string.update_account));
|
||||
findViewById(R.id.import_account_layout).setVisibility(View.GONE);
|
||||
findViewById(R.id.import_account_text).setVisibility(View.GONE);
|
||||
mIsUpdate = true;
|
||||
}
|
||||
|
||||
onInitialLayoutInflationComplete();
|
||||
}
|
||||
|
||||
|
||||
+20
-2
@@ -6,6 +6,8 @@
|
||||
package org.chromium.chrome.browser.crypto_wallet.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
@@ -27,6 +29,7 @@ import org.chromium.brave_wallet.mojom.KeyringInfo;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.crypto_wallet.AssetRatioControllerFactory;
|
||||
import org.chromium.chrome.browser.crypto_wallet.KeyringControllerFactory;
|
||||
import org.chromium.chrome.browser.crypto_wallet.activities.AccountDetailActivity;
|
||||
import org.chromium.chrome.browser.crypto_wallet.activities.BuySendSwapActivity;
|
||||
import org.chromium.chrome.browser.crypto_wallet.adapters.WalletCoinAdapter;
|
||||
import org.chromium.chrome.browser.crypto_wallet.listeners.OnWalletListItemClick;
|
||||
@@ -42,6 +45,7 @@ import java.util.List;
|
||||
|
||||
public class AssetDetailActivity extends AsyncInitializationActivity
|
||||
implements ConnectionErrorHandler, OnWalletListItemClick {
|
||||
private static final int ACCOUNT_REQUEST_CODE = 2;
|
||||
private SmoothLineChartEquallySpaced chartES;
|
||||
private AssetRatioController mAssetRatioController;
|
||||
private KeyringController mKeyringController;
|
||||
@@ -228,8 +232,11 @@ public class AssetDetailActivity extends AsyncInitializationActivity
|
||||
|
||||
@Override
|
||||
public void onAccountClick(WalletListItemModel walletListItemModel) {
|
||||
Utils.openAccountDetailActivity(AssetDetailActivity.this, walletListItemModel.getTitle(),
|
||||
walletListItemModel.getSubTitle());
|
||||
Intent accountDetailActivityIntent =
|
||||
new Intent(AssetDetailActivity.this, AccountDetailActivity.class);
|
||||
accountDetailActivityIntent.putExtra("name", walletListItemModel.getTitle());
|
||||
accountDetailActivityIntent.putExtra("address", walletListItemModel.getSubTitle());
|
||||
startActivityForResult(accountDetailActivityIntent, ACCOUNT_REQUEST_CODE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -246,4 +253,15 @@ public class AssetDetailActivity extends AsyncInitializationActivity
|
||||
public KeyringController getKeyringController() {
|
||||
return mKeyringController;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
if (requestCode == ACCOUNT_REQUEST_CODE) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
setUpAccountList();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-2
@@ -23,6 +23,7 @@ import org.chromium.brave_wallet.mojom.AccountInfo;
|
||||
import org.chromium.brave_wallet.mojom.KeyringController;
|
||||
import org.chromium.brave_wallet.mojom.KeyringInfo;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.crypto_wallet.activities.AccountDetailActivity;
|
||||
import org.chromium.chrome.browser.crypto_wallet.activities.AddAccountActivity;
|
||||
import org.chromium.chrome.browser.crypto_wallet.activities.BraveWalletActivity;
|
||||
import org.chromium.chrome.browser.crypto_wallet.adapters.WalletCoinAdapter;
|
||||
@@ -112,8 +113,10 @@ public class AccountsFragment extends Fragment implements OnWalletListItemClick
|
||||
|
||||
@Override
|
||||
public void onAccountClick(WalletListItemModel walletListItemModel) {
|
||||
Utils.openAccountDetailActivity(
|
||||
getActivity(), walletListItemModel.getTitle(), walletListItemModel.getSubTitle());
|
||||
Intent accountDetailActivityIntent = new Intent(getActivity(), AccountDetailActivity.class);
|
||||
accountDetailActivityIntent.putExtra("name", walletListItemModel.getTitle());
|
||||
accountDetailActivityIntent.putExtra("address", walletListItemModel.getSubTitle());
|
||||
startActivityForResult(accountDetailActivityIntent, ACCOUNT_REQUEST_CODE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ public class UnlockWalletFragment extends CryptoOnboardingFragment {
|
||||
onNextPage.gotoNextPage(true);
|
||||
}
|
||||
} else {
|
||||
unlockWalletPassword.setError(getString(R.string.password_error));
|
||||
unlockWalletPassword.setError(getString(R.string.incorrect_password_error));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -128,14 +128,6 @@ public class Utils {
|
||||
activity.startActivity(addAccountActivityIntent);
|
||||
}
|
||||
|
||||
public static void openAccountDetailActivity(Activity activity, String name, String address) {
|
||||
assert activity != null;
|
||||
Intent accountDetailActivityIntent = new Intent(activity, AccountDetailActivity.class);
|
||||
accountDetailActivityIntent.putExtra("name", name);
|
||||
accountDetailActivityIntent.putExtra("address", address);
|
||||
activity.startActivity(accountDetailActivityIntent);
|
||||
}
|
||||
|
||||
public static String[] getNetworksList(Activity activity) {
|
||||
List<String> categories = new ArrayList<String>();
|
||||
categories.add(activity.getText(R.string.mainnet).toString());
|
||||
|
||||
@@ -53,6 +53,9 @@
|
||||
android:text="@string/details"
|
||||
android:textColor="@color/wallet_text_color"
|
||||
android:background="@drawable/rounded_white_holo_bg"
|
||||
android:foreground="?android:attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
app:drawableStartCompat="@drawable/ic_qr_code_18"
|
||||
android:drawablePadding="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
@@ -74,6 +77,9 @@
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="center"
|
||||
android:textSize="14sp"
|
||||
android:foreground="?android:attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
android:textColorHint="@color/wallet_edittext_outline_color" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/import_account_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
@@ -61,6 +62,7 @@
|
||||
android:textSize="14sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/import_account_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
|
||||
@@ -1810,6 +1810,9 @@ until they verify, or until 90 days have passed.
|
||||
<message name="IDS_ADD_ACCOUNT" desc="Brave Wallet account dialog button text">
|
||||
Add Account
|
||||
</message>
|
||||
<message name="IDS_UPDATE_ACCOUNT" desc="Brave Wallet account dialog button text">
|
||||
Update Account
|
||||
</message>
|
||||
<message name="IDS_RECOVERY_PHRASE_ITEM_TEXT" desc="Brave Wallet onboarding text">
|
||||
<ph name="NUMBER">%1$s</ph>. <ph name="RECOVERY_PHRASE">%2$s</ph>
|
||||
</message>
|
||||
@@ -2290,6 +2293,18 @@ If you don't accept this request, VPN will not reconnect and your internet conne
|
||||
<message name="IDS_EDIT" desc="Brave wallet accounts text">
|
||||
Edit
|
||||
</message>
|
||||
<message name="IDS_UPDATE" desc="Brave wallet accounts text">
|
||||
Update
|
||||
</message>
|
||||
<message name="IDS_ACCOUNT_UPDATE_FAILED" desc="Brave Wallet account update error text">
|
||||
Account update failed.
|
||||
</message>
|
||||
<message name="IDS_ACCOUNT_NAME_EMPTY_ERROR" desc="Brave Wallet empty account error text">
|
||||
Account name can't be empty.
|
||||
</message>
|
||||
<message name="IDS_INCORRECT_PASSWORD_ERROR" desc="Brave Wallet incorrect password error text">
|
||||
Incorrect password
|
||||
</message>
|
||||
</messages>
|
||||
</release>
|
||||
</grit>
|
||||
|
||||
Reference in New Issue
Block a user