Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.

Commit 6b07e9f

Browse files
author
Evgenii Kanivets
committed
#12[30m]. Update Records screen after changes on rates, accounts, settings.
1 parent b4419b2 commit 6b07e9f

File tree

5 files changed

+49
-4
lines changed

5 files changed

+49
-4
lines changed

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/SettingsActivity.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.os.Bundle;
44
import android.preference.ListPreference;
5+
import android.preference.Preference;
56
import android.preference.PreferenceFragment;
67

78
import com.blogspot.e_kanivets.moneytracker.DbHelper;
@@ -47,6 +48,13 @@ public void onCreate(Bundle savedInstanceState) {
4748
addPreferencesFromResource(R.xml.preferences);
4849

4950
ListPreference defaultAccountPref = (ListPreference) findPreference(getString(R.string.pref_default_account));
51+
defaultAccountPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
52+
@Override
53+
public boolean onPreferenceChange(Preference preference, Object newValue) {
54+
getActivity().setResult(RESULT_OK);
55+
return true;
56+
}
57+
});
5058

5159
List<Account> accountList = accountController.readAll();
5260

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AccountsActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public boolean onContextItemSelected(MenuItem item) {
9090
// Minus one because of list view's header view
9191
accountController.delete(accountController.readAll().get(info.position - 1));
9292
update();
93+
setResult(RESULT_OK);
9394
return true;
9495
default:
9596
return super.onContextItemSelected(item);

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/base/BaseDrawerActivity.java

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,15 @@
2525
*/
2626
public abstract class BaseDrawerActivity extends BaseActivity
2727
implements NavigationView.OnNavigationItemSelectedListener {
28+
private static final int REQUEST_ACCOUNTS = 1;
29+
private static final int REQUEST_RATES = 2;
30+
private static final int REQUEST_SETTINGS = 3;
31+
2832
@Bind(R.id.drawer_layout)
2933
DrawerLayout drawer;
3034

35+
protected abstract void update();
36+
3137
@Override
3238
public void onBackPressed() {
3339
if (drawer != null && drawer.isDrawerOpen(GravityCompat.START))
@@ -54,19 +60,22 @@ protected Toolbar initToolbar() {
5460
public boolean onNavigationItemSelected(MenuItem item) {
5561
switch (item.getItemId()) {
5662
case R.id.nav_accounts:
57-
startActivity(new Intent(BaseDrawerActivity.this, AccountsActivity.class));
63+
startActivityForResult(new Intent(BaseDrawerActivity.this, AccountsActivity.class),
64+
REQUEST_ACCOUNTS);
5865
break;
5966

6067
case R.id.nav_rates:
61-
startActivity(new Intent(BaseDrawerActivity.this, ExchangeRatesActivity.class));
68+
startActivityForResult(new Intent(BaseDrawerActivity.this, ExchangeRatesActivity.class),
69+
REQUEST_RATES);
6270
break;
6371

6472
case R.id.nav_export:
6573
startActivity(new Intent(BaseDrawerActivity.this, ExportActivity.class));
6674
break;
6775

6876
case R.id.nav_settings:
69-
startActivity(new Intent(BaseDrawerActivity.this, SettingsActivity.class));
77+
startActivityForResult(new Intent(BaseDrawerActivity.this, SettingsActivity.class),
78+
REQUEST_SETTINGS);
7079
break;
7180

7281
default:
@@ -76,4 +85,28 @@ public boolean onNavigationItemSelected(MenuItem item) {
7685
drawer.closeDrawer(GravityCompat.START);
7786
return false;
7887
}
88+
89+
@Override
90+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
91+
super.onActivityResult(requestCode, resultCode, data);
92+
93+
if (resultCode == RESULT_OK) {
94+
switch (requestCode) {
95+
case REQUEST_ACCOUNTS:
96+
update();
97+
break;
98+
99+
case REQUEST_RATES:
100+
update();
101+
break;
102+
103+
case REQUEST_SETTINGS:
104+
update();
105+
break;
106+
107+
default:
108+
break;
109+
}
110+
}
111+
}
79112
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/ExchangeRatesActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public boolean onContextItemSelected(MenuItem item) {
6868
case R.id.delete:
6969
rateController.delete(exchangeRateList.get(info.position));
7070
update();
71+
setResult(RESULT_OK);
7172
return true;
7273
default:
7374
return super.onContextItemSelected(item);
@@ -88,6 +89,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
8889
switch (requestCode) {
8990
case REQUEST_ADD_EXCHANGE_RATE:
9091
update();
92+
setResult(RESULT_OK);
9193
break;
9294

9395
default:

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/MainActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,8 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
180180
}
181181
}
182182

183-
private void update() {
183+
@Override
184+
protected void update() {
184185
recordList = recordController.getRecordsForPeriod(period);
185186
Collections.reverse(recordList);
186187

0 commit comments

Comments
 (0)