From 70ad81014d78d3b4e2c6316dbb4940abc3b832ac Mon Sep 17 00:00:00 2001 From: Przemek Grondek <github@nerull7.info> Date: Tue, 22 Jul 2014 15:17:01 +0200 Subject: [PATCH] Progress bars --- .../mysqlbrowser/DatabaseFragment.java | 4 +++ .../nerull7/mysqlbrowser/EntriesFragment.java | 4 +++ .../nerull7/mysqlbrowser/LoginFragment.java | 11 +++++-- .../nerull7/mysqlbrowser/TableFragment.java | 4 +++ app/src/main/res/layout/fragment_database.xml | 17 +++++++--- app/src/main/res/layout/fragment_entries.xml | 26 ++++++++++++---- app/src/main/res/layout/fragment_login.xml | 31 ++++++++++++++----- app/src/main/res/layout/fragment_table.xml | 20 +++++++++--- 8 files changed, 91 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java b/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java index c092686..d2d6ec8 100644 --- a/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java +++ b/app/src/main/java/info/nerull7/mysqlbrowser/DatabaseFragment.java @@ -11,6 +11,7 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.ListView; +import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; @@ -25,6 +26,7 @@ public class DatabaseFragment extends Fragment implements AdapterView.OnItemClic private ListView databasesListView; private ListAdapter listAdapter; private RelativeLayout rootView; + private ProgressBar progressBar; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ @@ -32,6 +34,7 @@ public class DatabaseFragment extends Fragment implements AdapterView.OnItemClic View rootView = inflater.inflate(R.layout.fragment_database, container, false); databasesListView = (ListView) rootView.findViewById(R.id.databaseList); this.rootView = (RelativeLayout) rootView; + progressBar = (ProgressBar) rootView.findViewById(R.id.loginProgressBar); Static.asyncDatabaseConnector.setListReturnListener(this); Static.asyncDatabaseConnector.getDatabases(); @@ -62,5 +65,6 @@ public class DatabaseFragment extends Fragment implements AdapterView.OnItemClic rootView.addView(errorMessage); rootView.removeView(databasesListView); } + progressBar.setVisibility(View.INVISIBLE); } } diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/EntriesFragment.java b/app/src/main/java/info/nerull7/mysqlbrowser/EntriesFragment.java index 3ecfa9a..8894dec 100644 --- a/app/src/main/java/info/nerull7/mysqlbrowser/EntriesFragment.java +++ b/app/src/main/java/info/nerull7/mysqlbrowser/EntriesFragment.java @@ -10,6 +10,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; +import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TableLayout; @@ -35,6 +36,7 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector. private String tableName; private int entriesLimit; private int page; + private ProgressBar progressBar; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -48,6 +50,7 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector. entriesLimit = getActivity().getSharedPreferences(SettingsFragment.PREFERENCE_FILE, Context.MODE_PRIVATE).getInt(SettingsFragment.ENTRIES_PAGE_LIMIT, SettingsFragment.ENTRIES_PAGE_LIMIT_DEF); this.rootView = (RelativeLayout) rootView; page = getArguments().getInt("Page"); + progressBar = (ProgressBar) rootView.findViewById(R.id.loginProgressBar); // setupActionBar(); headerRow = new TableRow(getActivity()); @@ -90,6 +93,7 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector. headerFrame.addView(headerRow); headerRow.setVisibility(View.VISIBLE); } + progressBar.setVisibility(View.INVISIBLE); } @Override diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java b/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java index d8e899b..4583a57 100644 --- a/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java +++ b/app/src/main/java/info/nerull7/mysqlbrowser/LoginFragment.java @@ -9,6 +9,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; +import android.widget.ProgressBar; import info.nerull7.mysqlbrowser.db.AsyncDatabaseConnector; @@ -19,6 +20,7 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy private EditText urlTextbox; private EditText loginTextbox; private EditText passwordTextbox; // TODO: Mega super epic security (RSA/AES maybe?) + private ProgressBar progressBar; AsyncDatabaseConnector asyncDatabaseConnector; @@ -30,15 +32,17 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy View rootView = inflater.inflate(R.layout.fragment_login, container, false); rootView.findViewById(R.id.buttonLogin).setOnClickListener(this); - this.urlTextbox = (EditText) rootView.findViewById(R.id.editURL); - this.loginTextbox = (EditText) rootView.findViewById(R.id.editLogin); - this.passwordTextbox = (EditText) rootView.findViewById(R.id.editPassowrd); + urlTextbox = (EditText) rootView.findViewById(R.id.editURL); + loginTextbox = (EditText) rootView.findViewById(R.id.editLogin); + passwordTextbox = (EditText) rootView.findViewById(R.id.editPassowrd); + progressBar = (ProgressBar) rootView.findViewById(R.id.loginProgressBar); return rootView; } @Override public void onClick(View view) { + progressBar.setVisibility(View.VISIBLE); checkAsycnLogin(); } @@ -79,5 +83,6 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy builder.create(); builder.show(); } + progressBar.setVisibility(View.INVISIBLE); } } diff --git a/app/src/main/java/info/nerull7/mysqlbrowser/TableFragment.java b/app/src/main/java/info/nerull7/mysqlbrowser/TableFragment.java index 4b48999..5d2c820 100644 --- a/app/src/main/java/info/nerull7/mysqlbrowser/TableFragment.java +++ b/app/src/main/java/info/nerull7/mysqlbrowser/TableFragment.java @@ -12,6 +12,7 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.ListView; +import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; @@ -27,6 +28,7 @@ public class TableFragment extends Fragment implements AdapterView.OnItemClickLi private ListView tablesList; private ListAdapter listAdapter; private RelativeLayout rootView; + private ProgressBar progressBar; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -35,6 +37,7 @@ public class TableFragment extends Fragment implements AdapterView.OnItemClickLi databaseName = getArguments().getString("DatabaseName"); tablesList = (ListView) rootView.findViewById(R.id.tableList); this.rootView = (RelativeLayout) rootView; + progressBar = (ProgressBar) rootView.findViewById(R.id.loginProgressBar); Static.asyncDatabaseConnector.setListReturnListener(this); Static.asyncDatabaseConnector.getTables(); return rootView; @@ -64,5 +67,6 @@ public class TableFragment extends Fragment implements AdapterView.OnItemClickLi rootView.addView(errorMessage); rootView.removeView(tablesList); } + progressBar.setVisibility(View.INVISIBLE); } } diff --git a/app/src/main/res/layout/fragment_database.xml b/app/src/main/res/layout/fragment_database.xml index a70411a..8e71de9 100644 --- a/app/src/main/res/layout/fragment_database.xml +++ b/app/src/main/res/layout/fragment_database.xml @@ -2,14 +2,23 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" - android:paddingBottom="@dimen/activity_vertical_margin" tools:context="info.nerull7.mysqlbrowser.DatabaseFragment"> + <ProgressBar + style="?android:attr/progressBarStyleHorizontal" + android:indeterminate="true" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/loginProgressBar" + android:layout_centerHorizontal="true" + android:layout_alignParentTop="false" + android:layout_marginTop="-7dp" /> <ListView + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" diff --git a/app/src/main/res/layout/fragment_entries.xml b/app/src/main/res/layout/fragment_entries.xml index ab29f0e..ce8a33b 100644 --- a/app/src/main/res/layout/fragment_entries.xml +++ b/app/src/main/res/layout/fragment_entries.xml @@ -2,22 +2,36 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" - android:paddingBottom="@dimen/activity_vertical_margin" tools:context="info.nerull7.mysqlbrowser.EntriesFragment"> + <ProgressBar + style="?android:attr/progressBarStyleHorizontal" + android:indeterminate="true" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/loginProgressBar" + android:layout_centerHorizontal="true" + android:layout_alignParentTop="false" + android:layout_marginTop="-7dp" /> + <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:id="@+id/headerFrame"></FrameLayout> + android:id="@+id/headerFrame" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin"></FrameLayout> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/entriesScrollView" - android:layout_below="@+id/headerFrame"> + android:layout_below="@+id/headerFrame" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin"> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml index d6e0854..1bfd719 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -2,24 +2,35 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" - android:paddingBottom="@dimen/activity_vertical_margin" tools:context="info.nerull7.mysqlbrowser.LoginFragment"> + <ProgressBar + style="?android:attr/progressBarStyleHorizontal" + android:indeterminate="true" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/loginProgressBar" + android:layout_centerHorizontal="true" + android:layout_alignParentTop="false" + android:layout_marginTop="-7dp" + android:visibility="invisible"/> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_height="fill_parent" + android:id="@+id/linearLayout2" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/editURL" android:hint="@string/hint_url" - android:inputType="textUri" /> + android:inputType="textUri" + /> <EditText android:layout_width="fill_parent" @@ -28,7 +39,8 @@ android:hint="@string/username" android:lines="1" android:inputType="text" - android:maxLines="1" /> + android:maxLines="1" + /> <EditText android:layout_width="fill_parent" @@ -36,7 +48,8 @@ android:inputType="textPassword" android:ems="10" android:id="@+id/editPassowrd" - android:hint="@string/password"/> + android:hint="@string/password" + /> <Button android:layout_width="wrap_content" @@ -45,5 +58,7 @@ android:id="@+id/buttonLogin" android:gravity="center" android:layout_gravity="center_horizontal" /> + </LinearLayout> + </RelativeLayout> diff --git a/app/src/main/res/layout/fragment_table.xml b/app/src/main/res/layout/fragment_table.xml index 6df02e6..a698658 100644 --- a/app/src/main/res/layout/fragment_table.xml +++ b/app/src/main/res/layout/fragment_table.xml @@ -2,15 +2,25 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" - android:paddingBottom="@dimen/activity_vertical_margin" tools:context="info.nerull7.mysqlbrowser.TableFragment"> + <ProgressBar + style="?android:attr/progressBarStyleHorizontal" + android:indeterminate="true" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/loginProgressBar" + android:layout_centerHorizontal="true" + android:layout_alignParentTop="false" + android:layout_marginTop="-7dp" /> + <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:id="@+id/tableList" /> + android:id="@+id/tableList" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin"/> </RelativeLayout>