/* * Copyright (c) 2015 Jarrad Hope * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package io.syng.activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; import com.afollestad.materialdialogs.MaterialDialog; import com.bumptech.glide.Glide; import org.ethereum.crypto.HashUtil; import org.spongycastle.util.encoders.Hex; import java.util.ArrayList; import java.util.List; import io.syng.R; import io.syng.entity.Profile; import io.syng.util.*; import static org.ethereum.config.SystemProperties.CONFIG; public class LoginActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); ImageView backgroundImageView = (ImageView) findViewById(R.id.iv_background); Glide.with(this).load(R.drawable.console_bg).into(backgroundImageView); if (PrefsUtil.isFirstLaunch()) { createAndSetProfile(); } else { loginWallet(); } } private void startNextActivity() { startActivity(new Intent(this, MainActivity.class)); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); finish(); } @Override public void finish() { super.finish(); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); } private void createAndSetProfile() { GeneralUtil.showProfileCreateDialog(LoginActivity.this, false, new MaterialDialog.ButtonCallback() { @Override public void onPositive(MaterialDialog dialog) { if (GeneralUtil.processCreateDialog(LoginActivity.this, dialog)) { dialog.dismiss(); startNextActivity(); } } @Override public void onNegative(MaterialDialog dialog) { LoginActivity.this.finish(); dialog.dismiss(); } }); } private void loginWallet() { final Profile profile = ProfileManager.getCurrentProfile(); GeneralUtil.showProfilePasswordRequestDialog(LoginActivity.this, profile.getName(), new MaterialDialog.ButtonCallback() { @Override public void onPositive(MaterialDialog dialog) { View view = dialog.getCustomView(); EditText passwordText = (EditText) view.findViewById(R.id.et_pass); String password = passwordText.getText().toString(); if (profile.checkPassword(password)) { dialog.dismiss(); ProfileManager.setCurrentProfile(profile, password); startNextActivity(); } else { Toast.makeText(LoginActivity.this, "Password is not correct", Toast.LENGTH_SHORT).show(); } } @Override public void onNegative(MaterialDialog dialog) { LoginActivity.this.finish(); dialog.dismiss(); } }); } }