From 6ca1cacda5ead4dc233dcb3a86e2d3de503f1007 Mon Sep 17 00:00:00 2001
From: Przemek Grondek <github@nerull7.info>
Date: Wed, 6 Aug 2014 15:20:59 +0200
Subject: [PATCH] Merge two activities into one

DatabaseActivity and TableActivity is now ListActivity!
---
 app/src/main/AndroidManifest.xml              |  8 +---
 .../mysqlbrowser/DatabaseFragment.java        |  3 +-
 ...atabaseActivity.java => ListActivity.java} | 18 ++++++--
 .../nerull7/mysqlbrowser/LoginFragment.java   | 15 +-----
 .../info/nerull7/mysqlbrowser/Static.java     |  4 ++
 .../nerull7/mysqlbrowser/TableActivity.java   | 46 -------------------
 app/src/main/res/layout/activity_database.xml |  7 ---
 .../{activity_table.xml => activity_list.xml} |  2 +-
 app/src/main/res/values/strings.xml           |  4 +-
 9 files changed, 28 insertions(+), 79 deletions(-)
 rename app/src/main/java/info/nerull7/mysqlbrowser/{DatabaseActivity.java => ListActivity.java} (58%)
 delete mode 100644 app/src/main/java/info/nerull7/mysqlbrowser/TableActivity.java
 delete mode 100644 app/src/main/res/layout/activity_database.xml
 rename app/src/main/res/layout/{activity_table.xml => activity_list.xml} (81%)

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ba08ea4..792b2c8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,12 +18,8 @@
             </intent-filter>
         </activity>
         <activity
-            android:name=".DatabaseActivity"
-            android:label="@string/title_activity_database" >
-        </activity>
-        <activity
-            android:name=".TableActivity"
-            android:label="@string/title_activity_table" >
+            android:name=".ListActivity"
+            android:label="@string/title_activity_list" >
         </activity>
         <activity
             android:name=".EntriesActivity"
diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java b/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java
index 21d4671..d02e088 100644
--- a/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java
+++ b/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java
@@ -48,7 +48,8 @@ public class DatabaseFragment extends Fragment implements AdapterView.OnItemClic
         if(Static.isNetworkConnected(getActivity())) {
             String chosenDatabase = (String) listAdapter.getItem(position);
             listAdapter.getItem(position);
-            Intent intent = new Intent(getActivity(), TableActivity.class);
+            Intent intent = new Intent(getActivity(), ListActivity.class);
+            intent.putExtra(Static.FRAGMENT_TO_START, Static.FRAGMENT_TABLE);
             intent.putExtra(Static.DATABASE_NAME_ARG, chosenDatabase);
             Static.asyncDatabaseConnector.setDatabaseInUse(chosenDatabase);
             startActivity(intent);
diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseActivity.java b/app/src/main/java/info/nerull7/mysqlbrowser/ListActivity.java
similarity index 58%
rename from app/src/main/java/info/nerull7/mysqlbrowser/DatabaseActivity.java
rename to app/src/main/java/info/nerull7/mysqlbrowser/ListActivity.java
index 0449410..e2863fd 100644
--- a/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseActivity.java
+++ b/app/src/main/java/info/nerull7/mysqlbrowser/ListActivity.java
@@ -1,19 +1,31 @@
 package info.nerull7.mysqlbrowser;
 
 import android.app.Activity;
+import android.app.Fragment;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuItem;
 
-public class DatabaseActivity extends Activity {
+public class ListActivity extends Activity {
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_database);
+        setContentView(R.layout.activity_list);
+        Bundle extras = getIntent().getExtras();
+        String fragmentName = extras.getString(Static.FRAGMENT_TO_START);
+        Fragment fragment = null;
+        if(fragmentName.compareTo(Static.FRAGMENT_DATABASE)==0){
+            fragment = new DatabaseFragment();
+            setTitle(R.string.title_fragment_database);
+        } else if (fragmentName.compareTo(Static.FRAGMENT_TABLE)==0) {
+            fragment = new TableFragment();
+            setTitle(extras.getString(Static.DATABASE_NAME_ARG));
+        }
+        fragment.setArguments(getIntent().getExtras());
         if (savedInstanceState == null) {
             getFragmentManager().beginTransaction()
-                    .add(R.id.container, new DatabaseFragment())
+                    .add(R.id.container, fragment)
                     .commit();
         }
     }
diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java b/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java
index 41cb054..d296709 100644
--- a/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java
+++ b/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java
@@ -1,15 +1,10 @@
 package info.nerull7.mysqlbrowser;
 
-import android.app.AlertDialog;
 import android.app.Fragment;
-import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
-import android.preference.Preference;
 import android.preference.PreferenceManager;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -17,13 +12,6 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.ProgressBar;
 
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-
 import info.nerull7.mysqlbrowser.db.AsyncDatabaseConnector;
 
 /**
@@ -101,7 +89,8 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy
     public void onBooleanReturn(boolean result) {
         if(result) {
             Static.asyncDatabaseConnector = asyncDatabaseConnector;
-            Intent intent = new Intent(getActivity(), DatabaseActivity.class);
+            Intent intent = new Intent(getActivity(), ListActivity.class);
+            intent.putExtra(Static.FRAGMENT_TO_START, Static.FRAGMENT_DATABASE);
             startActivity(intent);
         }
         else {
diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/Static.java b/app/src/main/java/info/nerull7/mysqlbrowser/Static.java
index 1013bec..4517e51 100644
--- a/app/src/main/java/info/nerull7/mysqlbrowser/Static.java
+++ b/app/src/main/java/info/nerull7/mysqlbrowser/Static.java
@@ -18,6 +18,10 @@ public class Static {
     public static final String DATABASE_NAME_ARG = "DatabaseName";
     public static final String TABLE_NAME_ARG = "TableName";
 
+    public static final String FRAGMENT_TO_START = "FragmentStarter";
+    public static final String FRAGMENT_DATABASE = "DatabaseFragment";
+    public static final String FRAGMENT_TABLE = "TableFragment";
+
     public static AsyncDatabaseConnector asyncDatabaseConnector = null;
 
     public static void startSettings(Context context){
diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/TableActivity.java b/app/src/main/java/info/nerull7/mysqlbrowser/TableActivity.java
deleted file mode 100644
index e4c8256..0000000
--- a/app/src/main/java/info/nerull7/mysqlbrowser/TableActivity.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package info.nerull7.mysqlbrowser;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.Menu;
-import android.view.MenuItem;
-
-public class TableActivity extends Activity {
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_table);
-        setTitle(getIntent().getStringExtra(Static.DATABASE_NAME_ARG));
-
-        TableFragment tableFragment = new TableFragment();
-        tableFragment.setArguments(getIntent().getExtras());
-        if (savedInstanceState == null) {
-            getFragmentManager().beginTransaction()
-                    .add(R.id.container, tableFragment)
-                    .commit();
-        }
-    }
-
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.main, menu);
-        return true;
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        // Handle action bar item clicks here. The action bar will
-        // automatically handle clicks on the Home/Up button, so long
-        // as you specify a parent activity in AndroidManifest.xml.
-
-        int id = item.getItemId();
-        if (id == R.id.action_settings) {
-            Static.startSettings(this);
-            return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-}
diff --git a/app/src/main/res/layout/activity_database.xml b/app/src/main/res/layout/activity_database.xml
deleted file mode 100644
index c4d324d..0000000
--- a/app/src/main/res/layout/activity_database.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/container"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context="info.nerull7.mysqlbrowser.DatabaseActivity"
-    tools:ignore="MergeRootFrame" />
diff --git a/app/src/main/res/layout/activity_table.xml b/app/src/main/res/layout/activity_list.xml
similarity index 81%
rename from app/src/main/res/layout/activity_table.xml
rename to app/src/main/res/layout/activity_list.xml
index e80cef3..43ab1db 100644
--- a/app/src/main/res/layout/activity_table.xml
+++ b/app/src/main/res/layout/activity_list.xml
@@ -3,5 +3,5 @@
     android:id="@+id/container"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context="info.nerull7.mysqlbrowser.TableActivity"
+    tools:context="info.nerull7.mysqlbrowser.ListActivity"
     tools:ignore="MergeRootFrame" />
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 06015be..dc7ea10 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -8,12 +8,10 @@
     <string name="username">Username</string>
     <string name="hint_url">URL ex: https://example.com/c.php</string>
     <string name="title_activity_main">MainActivity</string>
-    <string name="title_activity_database">DatabaseActivity</string>
     <string name="hello_world">Hello world!</string>
     <string name="login_error">Wrong login/password</string>
     <string name="ok">OK</string>
     <string name="error">Error</string>
-    <string name="title_activity_table">TableActivity</string>
     <string name="title_activity_entries">EntriesActivity</string>
     <string name="general_category">General</string>
     <string name="entries_limit">Entries per page limit</string>
@@ -34,5 +32,7 @@
     <string name="action_add">Add new</string>
     <string name="title_activity_element">ElementActivity</string>
     <string name="action_save">Save</string>
+    <string name="title_fragment_database">Available Databases</string>
+    <string name="title_activity_list">ListActivity</string>
 
 </resources>