From b94261dd8b47c6c18d8e2fa0c5dfc607a1cb62c2 Mon Sep 17 00:00:00 2001 From: stefan-niedermann Date: Sun, 1 Mar 2020 16:06:35 +0100 Subject: #285 Migrate from ButterKnife to ViewBinding --- .../nextcloud/deck/ui/DrawerActivity.java | 47 +++++++++++----------- .../niedermann/nextcloud/deck/ui/MainActivity.java | 25 ++++++++---- 2 files changed, 41 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java index a5cd102b9..a62fefbe0 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java @@ -15,7 +15,6 @@ import android.preference.PreferenceManager; import android.util.Log; import android.view.Menu; import android.view.MenuItem; -import android.view.View; import android.widget.TextView; import androidx.annotation.NonNull; @@ -75,23 +74,22 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga protected ActivityMainBinding binding; - String accountIsGettingImported = getString(R.string.account_is_getting_imported); - String accountAlreadyAdded = getString(R.string.account_already_added); - String sharedPreferenceLastAccount = getString(R.string.shared_preference_last_account); - String urlFragmentUpdateDeck = getString(R.string.url_fragment_update_deck); - String addBoard = getString(R.string.add_board); - String noAccount = getString(R.string.no_account); - String addAccount = getString(R.string.add_account); - int minimumServerAppMajor = getResources().getInteger(R.integer.minimum_server_app_major); - int minimumServerAppMinor = getResources().getInteger(R.integer.minimum_server_app_minor); - int minimumServerAppPatch = getResources().getInteger(R.integer.minimum_server_app_patch); + String accountIsGettingImported; + String accountAlreadyAdded; + String sharedPreferenceLastAccount; + String urlFragmentUpdateDeck; + String addBoard; + String noAccount; + String addAccount; + int minimumServerAppMajor; + int minimumServerAppMinor; + int minimumServerAppPatch; protected List accountsList = new ArrayList<>(); protected Account account; protected boolean accountChooserActive = false; protected SyncManager syncManager; protected SharedPreferences sharedPreferences; - private HeaderViewHolder headerViewHolder; private Snackbar deckVersionTooLowSnackbar = null; private Snackbar accountIsGettingImportedSnackbar; @@ -184,13 +182,22 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + accountIsGettingImported = getString(R.string.account_is_getting_imported); + accountAlreadyAdded = getString(R.string.account_already_added); + sharedPreferenceLastAccount = getString(R.string.shared_preference_last_account); + urlFragmentUpdateDeck = getString(R.string.url_fragment_update_deck); + addBoard = getString(R.string.add_board); + noAccount = getString(R.string.no_account); + addAccount = getString(R.string.add_account); + minimumServerAppMajor = getResources().getInteger(R.integer.minimum_server_app_major); + minimumServerAppMinor = getResources().getInteger(R.integer.minimum_server_app_minor); + minimumServerAppPatch = getResources().getInteger(R.integer.minimum_server_app_patch); + Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this)); setSupportActionBar(binding.toolbar); accountIsGettingImportedSnackbar = Snackbar.make(binding.coordinatorLayout, accountIsGettingImported, Snackbar.LENGTH_INDEFINITE); - View header = binding.navigationView.getHeaderView(0); - headerViewHolder = new HeaderViewHolder(header); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, binding.drawerLayout, binding.toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); @@ -201,6 +208,8 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga syncManager = new SyncManager(this); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + NavHeaderMainBinding headerBinding = NavHeaderMainBinding.bind(binding.navigationView.getHeaderView(0)); + syncManager.hasAccounts().observe(this, (Boolean hasAccounts) -> { if (hasAccounts != null && hasAccounts) { syncManager.readAccounts().observe(this, (List accounts) -> { @@ -215,7 +224,7 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga SingleAccountHelper.setCurrentAccount(getApplicationContext(), this.account.getName()); syncManager = new SyncManager(this); setHeaderView(); - ViewUtil.addAvatar(this, headerViewHolder.binding.drawerCurrentAccount, this.account.getUrl(), this.account.getUserName(), R.mipmap.ic_launcher_round); + ViewUtil.addAvatar(this, headerBinding.drawerCurrentAccount, this.account.getUrl(), this.account.getUserName(), R.mipmap.ic_launcher_round); // TODO show spinner if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { registerAutoSyncOnNetworkAvailable(); @@ -413,14 +422,6 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga abstract void buildSidenavMenu(); - static class HeaderViewHolder { - NavHeaderMainBinding binding; - - HeaderViewHolder(View view) { - NavHeaderMainBinding.bind(view); - } - } - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private void registerAutoSyncOnNetworkAvailable() { final ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java index 1e280c3c6..8bf20f828 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java @@ -60,14 +60,14 @@ public class MainActivity extends DrawerActivity implements private static final String TAG = MainActivity.class.getCanonicalName(); - String sharedPreferencesLastBoardForAccount_ = getString(R.string.shared_preference_last_board_for_account_); - String sharedPreferencesLastStackForAccountAndBoard_ = getString(R.string.shared_preference_last_stack_for_account_and_board_); - String simpleSettings = getString(R.string.simple_settings); - String simpleBoards = getString(R.string.simple_boards); - String about = getString(R.string.about); - String shareBoard = getString(R.string.share_board); - String editBoard = getString(R.string.edit_board); - String addColumn = getString(R.string.add_column); + String sharedPreferencesLastBoardForAccount_; + String sharedPreferencesLastStackForAccountAndBoard_; + String simpleSettings; + String simpleBoards; + String about; + String shareBoard; + String editBoard; + String addColumn; private StackAdapter stackAdapter; private List boardsList; @@ -85,6 +85,15 @@ public class MainActivity extends DrawerActivity implements binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); + sharedPreferencesLastBoardForAccount_ = getString(R.string.shared_preference_last_board_for_account_); + sharedPreferencesLastStackForAccountAndBoard_ = getString(R.string.shared_preference_last_stack_for_account_and_board_); + simpleSettings = getString(R.string.simple_settings); + simpleBoards = getString(R.string.simple_boards); + about = getString(R.string.about); + shareBoard = getString(R.string.share_board); + editBoard = getString(R.string.edit_board); + addColumn = getString(R.string.add_column); + super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); -- cgit v1.2.3