X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FLatestTransactions.java;h=fc55239dfa852212c1f31866e02d8acd03804baf;hb=55a88b63074a00d795e1e2594f0958bdd5d26b46;hp=111b71e9f6ddceb36249116ac245a8cc7224ce95;hpb=ffec15332fc5eb907dde8b35d9c9c17c1e546cf2;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/LatestTransactions.java b/app/src/main/java/net/ktnx/mobileledger/LatestTransactions.java index 111b71e9..fc55239d 100644 --- a/app/src/main/java/net/ktnx/mobileledger/LatestTransactions.java +++ b/app/src/main/java/net/ktnx/mobileledger/LatestTransactions.java @@ -1,9 +1,10 @@ package net.ktnx.mobileledger; +import android.app.Activity; +import android.content.Intent; import android.content.pm.PackageInfo; import android.os.Bundle; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.NavigationView; +import android.preference.PreferenceManager; import android.support.design.widget.Snackbar; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; @@ -14,9 +15,22 @@ import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.ProgressBar; +import android.widget.TextView; -public class LatestTransactions extends AppCompatActivity - implements NavigationView.OnNavigationItemSelectedListener { +import java.util.Date; + +import static android.view.View.GONE; +import static net.ktnx.mobileledger.MobileLedgerDB.db; + +public class LatestTransactions extends AppCompatActivity { + DrawerLayout drawer; + + private static Date account_list_last_updated; + private static boolean account_list_needs_update = true; + public static void preferences_changed() { + account_list_needs_update = true; + } @Override protected void onCreate(Bundle savedInstanceState) { @@ -25,32 +39,27 @@ public class LatestTransactions extends AppCompatActivity Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); - FloatingActionButton fab = findViewById(R.id.btn_add_transaction); - fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - }); - - DrawerLayout drawer = findViewById(R.id.drawer_layout); + drawer = findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); - NavigationView navigationView = findViewById(R.id.nav_view); - navigationView.setNavigationItemSelectedListener(this); - android.widget.TextView ver = drawer.findViewById(R.id.drawer_version_text); try { PackageInfo pi = getApplicationContext().getPackageManager().getPackageInfo(getPackageName(), 0); ver.setText(pi.versionName); } catch (Exception e) { - ver.setText("version"); + e.printStackTrace(); } + + update_accounts(); + } + + public void fab_new_transaction_clicked(View view) { + Intent intent = new Intent(this, NewTransactionActivity.class); + startActivity(intent); } public void nav_exit_clicked(View view) { @@ -58,6 +67,11 @@ public class LatestTransactions extends AppCompatActivity finish(); } + public void nav_settings_clicked(View view) { + Intent intent = new Intent(this, SettingsActivity.class); + startActivity(intent); + } + @Override public void onBackPressed() { DrawerLayout drawer = findViewById(R.id.drawer_layout); @@ -71,7 +85,7 @@ public class LatestTransactions extends AppCompatActivity @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.latest_transactions, menu); + //getMenuInflater().inflate(R.menu.latest_transactions, menu); return true; } @@ -83,31 +97,46 @@ public class LatestTransactions extends AppCompatActivity int id = item.getItemId(); //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } + //if (id == R.id.action_settings) { + // return true; + // } return super.onOptionsItemSelected(item); } - @SuppressWarnings("StatementWithEmptyBody") - @Override - public boolean onNavigationItemSelected(MenuItem item) { - // Handle navigation view item clicks here. - int id = item.getItemId(); + private void prepare_db() { + MobileLedgerDB.setDb_filename(this.getApplicationInfo().deviceProtectedDataDir + "/" + MobileLedgerDB.DATABASE_NAME); + MobileLedgerDB.initDB(); + } + private void update_accounts() { + prepare_db(); - if (id == R.id.nav_latest_transactions) { - // Handle the camera action - } else if (id == R.id.nav_reports) { + Resources rm = getResources(); - } else if (id == R.id.nav_settings) { + ProgressBar pb = findViewById(R.id.progressBar); + TextView pt = findViewById(R.id.textProgress); + pb.setIndeterminate(true); - } else if (id == R.id.nav_exit) { + RetrieveAccountsTask task = new RetrieveAccountsTask() { + @Override + protected void onProgressUpdate(Integer... values) { + if ( values[0] == 0 ) + pt.setText(R.string.progress_connecting); + else + pt.setText(String.format(getResources().getString(R.string.progress_N_accounts_loaded), values[0])); + } - } + @Override + protected void onPostExecute(Void result) { + pb.setVisibility(GONE); + pt.setVisibility(GONE); + if (this.error != 0) + Snackbar.make(drawer, rm.getString(this.error), Snackbar.LENGTH_LONG ); + } + }; + + task.setPref(PreferenceManager.getDefaultSharedPreferences(this)); + task.execute(db); - DrawerLayout drawer = findViewById(R.id.drawer_layout); - drawer.closeDrawer(GravityCompat.START); - return true; } }