Skip to content

Commit

Permalink
Merge pull request #545 from liato/feature/butterknife
Browse files Browse the repository at this point in the history
Adds initial support for Butterknife
  • Loading branch information
fredrike committed Apr 25, 2015
2 parents 19fc258 + 62d5056 commit b8188ac
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 64 deletions.
5 changes: 5 additions & 0 deletions app/build.gradle
Expand Up @@ -45,6 +45,10 @@ android {
targetCompatibility JavaVersion.VERSION_1_7
}

lintOptions {
disable 'InvalidPackage'
}

// Get signing keys for release
gradle.taskGraph.whenReady { taskGraph ->
if(taskGraph.hasTask(':app:assembleRelease')) {
Expand Down Expand Up @@ -80,6 +84,7 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':bankdroid-legacy')
compile 'com.jakewharton:butterknife:6.1.0'
compile "com.android.support:appcompat-v7:22.0.+"
compile 'com.google.collections:google-collections:1.0'
compile('com.crashlytics.sdk.android:crashlytics:2.2.1@aar') {
Expand Down
13 changes: 13 additions & 0 deletions app/proguard-rules.pro
Expand Up @@ -23,3 +23,16 @@
# to avoid problem on Samsung 4.2.2 devices with appcompat v21
# see https://code.google.com/p/android/issues/detail?id=78377
-keep class !android.support.v7.internal.view.menu.**,android.support.** {*;}

#Butterknife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }

-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}

-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
9 changes: 8 additions & 1 deletion app/src/main/java/com/liato/bankdroid/AboutActivity.java
Expand Up @@ -27,12 +27,19 @@
import android.view.MenuItem;
import android.widget.TextView;

import butterknife.ButterKnife;
import butterknife.InjectView;

public class AboutActivity extends LockableActivity {

@InjectView(R.id.txtVersion)
TextView mVersion;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
ButterKnife.inject(this);
PackageInfo pInfo;
String version = "v1.x.x";
try {
Expand All @@ -42,7 +49,7 @@ public void onCreate(Bundle savedInstanceState) {
} catch (final NameNotFoundException e) {
e.printStackTrace();
}
((TextView) findViewById(R.id.txtVersion)).setText(
mVersion.setText(
getText(R.string.version).toString().replace("$version", version));

}
Expand Down
127 changes: 73 additions & 54 deletions app/src/main/java/com/liato/bankdroid/BankEditActivity.java
Expand Up @@ -58,9 +58,40 @@
import java.util.Collections;
import java.util.List;

import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;

public class BankEditActivity extends LockableActivity
implements OnClickListener, OnItemSelectedListener {

@InjectView(R.id.spnBankeditBanklist)
Spinner mBankSpinner;

@InjectView(R.id.edtBankeditUsername)
EditText mUsernameField;

@InjectView(R.id.txtBankeditUsername)
TextView mUsernameLabel;

@InjectView(R.id.edtBankeditPassword)
EditText mPasswordField;

@InjectView(R.id.txtBankeditPassword)
TextView mPasswordLabel;

@InjectView(R.id.edtBankeditCustomName)
EditText mCustomNameField;

@InjectView(R.id.edtBankeditExtras)
EditText mExtrasField;

@InjectView(R.id.txtBankeditExtras)
TextView mExtrasLabel;

@InjectView(R.id.txtErrorDesc)
TextView mErrorDescription;

private final static String TAG = "BankEditActivity";

private Bank SELECTED_BANK;
Expand All @@ -71,42 +102,35 @@ public class BankEditActivity extends LockableActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bank);
ButterKnife.inject(this);
this.getWindow()
.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
ArrayList<Bank> items = BankFactory.listBanks(this);
Collections.sort(items);
Spinner spnBanks = (Spinner) findViewById(R.id.spnBankeditBanklist);
BankSpinnerAdapter<Bank> adapter = new BankSpinnerAdapter<Bank>(this, items);
spnBanks.setAdapter(adapter);
spnBanks.setOnItemSelectedListener(this);

findViewById(R.id.btnSettingsCancel).setOnClickListener(this);
findViewById(R.id.btnSettingsOk).setOnClickListener(this);
BankSpinnerAdapter<Bank> adapter = new BankSpinnerAdapter<Bank>(this, items);
mBankSpinner.setAdapter(adapter);
mBankSpinner.setOnItemSelectedListener(this);

Bundle extras = getIntent().getExtras();
if (extras != null) {
BANKID = extras.getLong("id", -1);
if (BANKID != -1) {
Bank bank = BankFactory.bankFromDb(BANKID, this, false);
if (bank != null) {
((EditText) findViewById(R.id.edtBankeditUsername)).setText(bank.getUsername());
((EditText) findViewById(R.id.edtBankeditPassword)).setText(bank.getPassword());
((EditText) findViewById(R.id.edtBankeditCustomName))
.setText(bank.getCustomName());
mUsernameField.setText(bank.getUsername());
mPasswordField.setText(bank.getPassword());
mCustomNameField.setText(bank.getCustomName());
if (bank.getExtras() != null) {
((EditText) findViewById(R.id.edtBankeditExtras)).setText(bank.getExtras());
mExtrasField.setText(bank.getExtras());
}

TextView errorDesc = (TextView) findViewById(R.id.txtErrorDesc);
if (bank.isDisabled()) {
errorDesc.setVisibility(View.VISIBLE);
} else {
errorDesc.setVisibility(View.INVISIBLE);
}
mErrorDescription.setVisibility(bank.isDisabled() ? View.VISIBLE : View.INVISIBLE);

SELECTED_BANK = bank;
for (int i = 0; i < items.size(); i++) {
if (bank.getBanktypeId() == items.get(i).getBanktypeId()) {
spnBanks.setSelection(i);
mBankSpinner.setSelection(i);
break;
}
}
Expand All @@ -116,21 +140,22 @@ public void onCreate(Bundle savedInstanceState) {
}

@Override
@OnClick({R.id.btnSettingsCancel, R.id.btnSettingsOk})
public void onClick(View v) {
if (v.getId() == R.id.btnSettingsCancel) {
this.finish();
} else if (v.getId() == R.id.btnSettingsOk) {
SELECTED_BANK.setUsername(
((EditText) findViewById(R.id.edtBankeditUsername)).getText().toString()
mUsernameField.getText().toString()
.trim());
SELECTED_BANK.setPassword(
((EditText) findViewById(R.id.edtBankeditPassword)).getText().toString()
mPasswordField.getText().toString()
.trim());
SELECTED_BANK.setCustomName(
((EditText) findViewById(R.id.edtBankeditCustomName)).getText().toString()
mCustomNameField.getText().toString()
.trim());
SELECTED_BANK.setExtras(
((EditText) findViewById(R.id.edtBankeditExtras)).getText().toString().trim());
mExtrasField.getText().toString().trim());
SELECTED_BANK.setDbid(BANKID);
new DataRetrieverTask(this, SELECTED_BANK).execute();
}
Expand All @@ -140,52 +165,46 @@ public void onClick(View v) {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int pos, long id) {
SELECTED_BANK = (Bank) parentView.getItemAtPosition(pos);
EditText edtUsername = (EditText) findViewById(R.id.edtBankeditUsername);
EditText edtPassword = (EditText) findViewById(R.id.edtBankeditPassword);
EditText edtExtras = (EditText) findViewById(R.id.edtBankeditExtras);
TextView txtUsername = (TextView) findViewById(R.id.txtBankeditUsername);
TextView txtPassword = (TextView) findViewById(R.id.txtBankeditPassword);
TextView txtExtras = (TextView) findViewById(R.id.txtBankeditExtras);

edtUsername.setInputType(SELECTED_BANK.getInputTypeUsername());
edtUsername.setHint(SELECTED_BANK.getInputHintUsername());
txtUsername.setText(SELECTED_BANK.getInputTitleUsername());

edtPassword.setInputType(SELECTED_BANK.getInputTypePassword());
edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
edtPassword.setTypeface(Typeface.MONOSPACE);
txtPassword.setText(SELECTED_BANK.getInputTitlePassword());

edtExtras.setInputType(SELECTED_BANK.getInputTypeExtras());

mUsernameField.setInputType(SELECTED_BANK.getInputTypeUsername());
mUsernameField.setHint(SELECTED_BANK.getInputHintUsername());
mUsernameLabel.setText(SELECTED_BANK.getInputTitleUsername());

mPasswordField.setInputType(SELECTED_BANK.getInputTypePassword());
mPasswordField.setTransformationMethod(PasswordTransformationMethod.getInstance());
mPasswordField.setTypeface(Typeface.MONOSPACE);
mPasswordLabel.setText(SELECTED_BANK.getInputTitlePassword());

mExtrasField.setInputType(SELECTED_BANK.getInputTypeExtras());
if ((SELECTED_BANK.getInputTypeExtras() & InputType.TYPE_TEXT_VARIATION_PASSWORD)
== InputType.TYPE_TEXT_VARIATION_PASSWORD) {
edtExtras.setTransformationMethod(PasswordTransformationMethod.getInstance());
edtExtras.setTypeface(Typeface.MONOSPACE);
mExtrasField.setTransformationMethod(PasswordTransformationMethod.getInstance());
mExtrasField.setTypeface(Typeface.MONOSPACE);
}
txtExtras.setText(SELECTED_BANK.getInputTitleExtras());
mExtrasLabel.setText(SELECTED_BANK.getInputTitleExtras());

if (SELECTED_BANK.isInputUsernameHidden()) {
edtUsername.setVisibility(View.GONE);
txtUsername.setVisibility(View.GONE);
mUsernameField.setVisibility(View.GONE);
mUsernameLabel.setVisibility(View.GONE);
} else {
edtUsername.setVisibility(View.VISIBLE);
txtUsername.setVisibility(View.VISIBLE);
mUsernameField.setVisibility(View.VISIBLE);
mUsernameLabel.setVisibility(View.VISIBLE);
}

if (SELECTED_BANK.isInputPasswordHidden()) {
edtPassword.setVisibility(View.GONE);
txtPassword.setVisibility(View.GONE);
mPasswordField.setVisibility(View.GONE);
mPasswordLabel.setVisibility(View.GONE);
} else {
edtPassword.setVisibility(View.VISIBLE);
txtPassword.setVisibility(View.VISIBLE);
mPasswordField.setVisibility(View.VISIBLE);
mPasswordLabel.setVisibility(View.VISIBLE);
}

if (SELECTED_BANK.isInputExtrasHidden()) {
edtExtras.setVisibility(View.GONE);
txtExtras.setVisibility(View.GONE);
mExtrasField.setVisibility(View.GONE);
mExtrasLabel.setVisibility(View.GONE);
} else {
edtExtras.setVisibility(View.VISIBLE);
txtExtras.setVisibility(View.VISIBLE);
mExtrasField.setVisibility(View.VISIBLE);
mExtrasLabel.setVisibility(View.VISIBLE);
}
}

Expand Down
18 changes: 9 additions & 9 deletions app/src/main/java/com/liato/bankdroid/MainActivity.java
Expand Up @@ -52,8 +52,14 @@

import java.util.ArrayList;

import butterknife.ButterKnife;
import butterknife.InjectView;

public class MainActivity extends LockableActivity {

@InjectView(R.id.txtAccountsDesc)
TextView mAccountsDescription;

private final static String TAG = "MainActivity";

protected static boolean showHidden = false;
Expand All @@ -78,6 +84,8 @@ public void onCreate(final Bundle savedInstanceState) {
PairApplicationsActivity.initialSetupApiKey(this);

setContentView(R.layout.main);
ButterKnife.inject(this);

adapter = new AccountsAdapter(this, showHidden);
final ArrayList<Bank> banks = new ArrayList<Bank>();//BankFactory.banksFromDb(this, true);
adapter.setGroups(banks);
Expand Down Expand Up @@ -145,15 +153,7 @@ public void onResume() {

public void refreshView() {
final ArrayList<Bank> banks = BankFactory.banksFromDb(this, true);
if (banks.size() > 0) {
findViewById(R.id.txtAccountsDesc).setVisibility(View.GONE);
// showTitleButton("refresh");
//findViewById(R.id.btnAccountsRefresh).setClickable(true);
} else {
findViewById(R.id.txtAccountsDesc).setVisibility(View.VISIBLE);
// hideTitleButton("refresh");
//findViewById(R.id.btnAccountsRefresh).setClickable(false);
}
mAccountsDescription.setVisibility(banks.isEmpty() ? View.VISIBLE : View.GONE);

adapter.setShowHidden(showHidden);
adapter.setGroups(banks);
Expand Down

0 comments on commit b8188ac

Please sign in to comment.