Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}

dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
maven { url 'https://maven.fabric.io/public' }
}

apply plugin: 'com.neenbedankt.android-apt'

android {
Expand Down Expand Up @@ -64,4 +79,7 @@ dependencies {
androidTestCompile 'com.crittercism.dexmaker:dexmaker:1.4'
androidTestCompile 'com.crittercism.dexmaker:dexmaker-dx:1.4'
androidTestCompile 'com.crittercism.dexmaker:dexmaker-mockito:1.4'
compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
transitive = true;
}
}
3 changes: 3 additions & 0 deletions app/fabric.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public.
#Wed Dec 14 10:33:29 EET 2016
apiSecret=82d758bae86a87ef822afbfc6f3c016c28c0b43f1d46862ebf37405141fa3414
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ public void testContentValues() throws Exception {

ContentValues expected = new ContentValues();
expected.put(DbHelper.TITLE_COLUMN, "title1");
expected.put(DbHelper.CUR_SUM_COLUMN, 100);
expected.put(DbHelper.CUR_SUM_COLUMN, 100L);
expected.put(DbHelper.CURRENCY_COLUMN, "NON");
expected.put(DbHelper.DECIMALS_COLUMN, 30);
expected.put(DbHelper.DECIMALS_COLUMN, 30L);

ContentValues actual = repo.contentValues(account);

Expand All @@ -67,7 +67,7 @@ public void testGetListFromCursor() throws Exception {

Mockito.when(mockCursor.getLong(1)).thenReturn(1L);
Mockito.when(mockCursor.getString(2)).thenReturn("title");
Mockito.when(mockCursor.getInt(3)).thenReturn(100);
Mockito.when(mockCursor.getLong(3)).thenReturn(100L);
Mockito.when(mockCursor.getString(4)).thenReturn("NON");

List<Account> expected = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ public void testContentValues() throws Exception {
expected.put(DbHelper.TYPE_COLUMN, Record.TYPE_EXPENSE);
expected.put(DbHelper.TITLE_COLUMN, "title");
expected.put(DbHelper.CATEGORY_ID_COLUMN, 1L);
expected.put(DbHelper.PRICE_COLUMN, 100);
expected.put(DbHelper.PRICE_COLUMN, 100L);
expected.put(DbHelper.ACCOUNT_ID_COLUMN, 1L);
expected.put(DbHelper.CURRENCY_COLUMN, "NON");
expected.put(DbHelper.DECIMALS_COLUMN, 50);
expected.put(DbHelper.DECIMALS_COLUMN, 50L);

ContentValues actual = repo.contentValues(record);

Expand Down Expand Up @@ -79,10 +79,10 @@ public void testGetListFromCursor() throws Exception {
Mockito.when(mockCursor.getInt(3)).thenReturn(Record.TYPE_EXPENSE);
Mockito.when(mockCursor.getString(4)).thenReturn("title");
Mockito.when(mockCursor.getLong(5)).thenReturn(1L);
Mockito.when(mockCursor.getInt(6)).thenReturn(100);
Mockito.when(mockCursor.getLong(6)).thenReturn(100L);
Mockito.when(mockCursor.getLong(7)).thenReturn(1L);
Mockito.when(mockCursor.getString(8)).thenReturn("NON");
Mockito.when(mockCursor.getInt(9)).thenReturn(50);
Mockito.when(mockCursor.getLong(9)).thenReturn(50L);

List<Record> expected = new ArrayList<>();
expected.add(new Record(1, 1, Record.TYPE_EXPENSE, "title", 1, 100, 1, "NON", 50));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ public void testContentValues() throws Exception {
expected.put(DbHelper.TIME_COLUMN, 1L);
expected.put(DbHelper.FROM_ACCOUNT_ID_COLUMN, 1L);
expected.put(DbHelper.TO_ACCOUNT_ID_COLUMN, 2L);
expected.put(DbHelper.FROM_AMOUNT_COLUMN, 100);
expected.put(DbHelper.TO_AMOUNT_COLUMN, 200);
expected.put(DbHelper.DECIMALS_FROM_COLUMN, 45);
expected.put(DbHelper.DECIMALS_TO_COLUMN, 50);
expected.put(DbHelper.FROM_AMOUNT_COLUMN, 100L);
expected.put(DbHelper.TO_AMOUNT_COLUMN, 200L);
expected.put(DbHelper.DECIMALS_FROM_COLUMN, 45L);
expected.put(DbHelper.DECIMALS_TO_COLUMN, 50L);

ContentValues actual = repo.contentValues(transfer);

Expand All @@ -76,10 +76,10 @@ public void testGetListFromCursor() throws Exception {
Mockito.when(mockCursor.getLong(2)).thenReturn(1L);
Mockito.when(mockCursor.getLong(3)).thenReturn(1L);
Mockito.when(mockCursor.getLong(4)).thenReturn(2L);
Mockito.when(mockCursor.getInt(5)).thenReturn(100);
Mockito.when(mockCursor.getInt(6)).thenReturn(200);
Mockito.when(mockCursor.getInt(7)).thenReturn(45);
Mockito.when(mockCursor.getInt(8)).thenReturn(50);
Mockito.when(mockCursor.getLong(5)).thenReturn(100L);
Mockito.when(mockCursor.getLong(6)).thenReturn(200L);
Mockito.when(mockCursor.getLong(7)).thenReturn(45L);
Mockito.when(mockCursor.getLong(8)).thenReturn(50L);

List<Transfer> expected = new ArrayList<>();
expected.add(new Transfer(1, 1, 1, 2, 100, 200, 45, 50));
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<meta-data
android:name="io.fabric.ApiKey"
android:value="955ae4864ae2a833aeda5b62631512524288adf8" />
</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
import com.blogspot.e_kanivets.moneytracker.di.module.ControllerModule;
import com.blogspot.e_kanivets.moneytracker.di.module.repo.CachedRepoModule;

import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
import timber.log.Timber;

/**
Expand All @@ -27,6 +29,9 @@ public static MtApp get() {
@Override
public void onCreate() {
super.onCreate();
if (!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
}

mtApp = this;
buildAppComponent();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ protected int getContentViewId() {
return R.layout.activity_report;
}

@SuppressWarnings("RedundantIfStatement")
@Override
protected boolean initData() {
super.initData();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import com.blogspot.e_kanivets.moneytracker.adapter.AccountAdapter;
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController;
import com.blogspot.e_kanivets.moneytracker.ui.presenter.AccountsSummaryPresenter;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.ContentViewEvent;

import javax.inject.Inject;

Expand Down Expand Up @@ -68,8 +70,7 @@ public boolean onCreateOptionsMenu(Menu menu) {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_transfer:
startActivityForResult(new Intent(AccountsActivity.this, TransferActivity.class),
REQUEST_TRANSFER);
makeTransfer();
return true;

default:
Expand Down Expand Up @@ -99,8 +100,23 @@ public boolean onContextItemSelected(MenuItem item) {
}
}

public void makeTransfer() {
// Answers event
Answers.getInstance().logContentView(new ContentViewEvent()
.putContentName("Add Transfer")
.putContentType("Button"));

startActivityForResult(new Intent(AccountsActivity.this, TransferActivity.class),
REQUEST_TRANSFER);
}

@OnClick(R.id.btn_add_account)
public void addAccount() {
// Answers event
Answers.getInstance().logContentView(new ContentViewEvent()
.putContentName("Add Account")
.putContentType("Button"));

Intent intent = new Intent(AccountsActivity.this, AddAccountActivity.class);
startActivityForResult(intent, REQUEST_ADD_ACCOUNT);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,18 @@
import android.support.v7.widget.AppCompatSpinner;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;

import com.blogspot.e_kanivets.moneytracker.R;
import com.blogspot.e_kanivets.moneytracker.activity.base.BaseBackActivity;
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController;
import com.blogspot.e_kanivets.moneytracker.controller.CurrencyController;
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
import com.blogspot.e_kanivets.moneytracker.util.validator.AccountValidator;
import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.ContentViewEvent;

import java.util.ArrayList;

Expand All @@ -27,10 +31,10 @@ public class AddAccountActivity extends BaseBackActivity {
@Inject
CurrencyController currencyController;

@Bind(R.id.et_title)
EditText etTitle;
@Bind(R.id.et_init_sum)
EditText etInitSum;
private IValidator<Account> accountValidator;

@Bind(R.id.content)
View contentView;
@Bind(R.id.spinner)
AppCompatSpinner spinner;

Expand All @@ -50,46 +54,51 @@ protected boolean initData() {
protected void initViews() {
super.initViews();

accountValidator = new AccountValidator(AddAccountActivity.this, contentView);
spinner.setAdapter(new ArrayAdapter<>(AddAccountActivity.this,
R.layout.view_spinner_item,
new ArrayList<>(currencyController.readAll())));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_add_record, menu);
getMenuInflater().inflate(R.menu.menu_add_account, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_done:
if (addAccount()) {
setResult(RESULT_OK);
finish();
} else showToast(R.string.wrong_number_text);
tryAddAccount();
return true;

default:
return super.onOptionsItemSelected(item);
}
}

private boolean addAccount() {
String title = etTitle.getText().toString().trim();

double initSum;
try {
initSum = Double.parseDouble(etInitSum.getText().toString().trim());
} catch (NumberFormatException e) {
e.printStackTrace();
return false;
}
private void tryAddAccount() {
// Answers event
Answers.getInstance().logContentView(new ContentViewEvent()
.putContentName("Done Account")
.putContentType("Button"));

String currency = (String) spinner.getSelectedItem();
if (addAccount()) {
// Answers event
Answers.getInstance().logContentView(new ContentViewEvent()
.putContentName("Done Account")
.putContentType("Event"));

Account account = new Account(title, initSum, currency);
return accountController.create(account) != null;
setResult(RESULT_OK);
finish();
}
}

@SuppressWarnings("SimplifiableIfStatement")
private boolean addAccount() {
Account account = accountValidator.validate();
if (account == null) return false;
else return accountController.create(account) != null;
}
}
Loading