mirror of
https://github.com/pierre42100/ComunicAndroid
synced 2024-12-26 13:38:59 +00:00
Can clear local database from the application.
This commit is contained in:
parent
1ba90958af
commit
d48cdd1c32
@ -0,0 +1,38 @@
|
||||
package org.communiquons.android.comunic.client.data.helpers;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
/**
|
||||
* Base helper
|
||||
*
|
||||
* This helper is intended to be inherited by all the other helpers
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
* Created by pierre on 4/28/18.
|
||||
*/
|
||||
|
||||
class BaseHelper {
|
||||
|
||||
/**
|
||||
* The context of the application
|
||||
*/
|
||||
private Context mContext;
|
||||
|
||||
/**
|
||||
* Package-private constructor
|
||||
*
|
||||
* @param context The context of the application
|
||||
*/
|
||||
BaseHelper(Context context){
|
||||
this.mContext = context.getApplicationContext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the context of the application
|
||||
*
|
||||
* @return The context
|
||||
*/
|
||||
public Context getContext() {
|
||||
return mContext;
|
||||
}
|
||||
}
|
@ -127,9 +127,9 @@ public class DatabaseHelper extends SQLiteOpenHelper {
|
||||
*
|
||||
* @param db Database object
|
||||
*/
|
||||
public void init_db(SQLiteDatabase db){
|
||||
void init_db(SQLiteDatabase db){
|
||||
|
||||
//Create user informations table
|
||||
//Create user information table
|
||||
db.execSQL(SQL_CREATE_USERS_INFOS_TABLE);
|
||||
|
||||
//Create friends list table
|
||||
@ -147,8 +147,8 @@ public class DatabaseHelper extends SQLiteOpenHelper {
|
||||
*
|
||||
* @param db The database
|
||||
*/
|
||||
public void clear_db(SQLiteDatabase db){
|
||||
//Delete users informations table
|
||||
void clear_db(SQLiteDatabase db){
|
||||
//Delete users information table
|
||||
db.execSQL(SQL_DELETE_USERS_INFOS_TABLE);
|
||||
|
||||
//Delete friends list table
|
||||
|
@ -0,0 +1,46 @@
|
||||
package org.communiquons.android.comunic.client.data.helpers;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.SQLException;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
|
||||
/**
|
||||
* Debug helper
|
||||
*
|
||||
* This helpers handles all the debug operations made by the user other the application
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
* Created by pierre on 4/28/18.
|
||||
*/
|
||||
|
||||
public class DebugHelper extends BaseHelper {
|
||||
|
||||
/**
|
||||
* Public constructor
|
||||
*
|
||||
* @param context The context of the application
|
||||
*/
|
||||
public DebugHelper(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the database of the application, setting it default values
|
||||
*
|
||||
* @return TRUE for a success / FALSE else
|
||||
*/
|
||||
public boolean clearLocalDatabase(){
|
||||
|
||||
try {
|
||||
DatabaseHelper dbHelper = DatabaseHelper.getInstance(getContext());
|
||||
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||
dbHelper.clear_db(db);
|
||||
dbHelper.init_db(db);
|
||||
} catch (SQLException e){
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -21,6 +21,7 @@ import org.communiquons.android.comunic.client.R;
|
||||
import org.communiquons.android.comunic.client.crashreporter.CrashReporter;
|
||||
import org.communiquons.android.comunic.client.data.helpers.APIRequestHelper;
|
||||
import org.communiquons.android.comunic.client.data.helpers.AccountHelper;
|
||||
import org.communiquons.android.comunic.client.data.helpers.DebugHelper;
|
||||
import org.communiquons.android.comunic.client.data.utils.AccountUtils;
|
||||
import org.communiquons.android.comunic.client.data.helpers.DatabaseHelper;
|
||||
import org.communiquons.android.comunic.client.data.helpers.ConversationsListHelper;
|
||||
@ -200,6 +201,12 @@ public class MainActivity extends AppCompatActivity implements openConversationL
|
||||
return true;
|
||||
}
|
||||
|
||||
//Check if user wants to clear database
|
||||
if(id == R.id.action_clear_local_db){
|
||||
clearLocalDatabase();
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
||||
}
|
||||
@ -495,4 +502,16 @@ public class MainActivity extends AppCompatActivity implements openConversationL
|
||||
transaction.replace(R.id.main_fragment, singlePostFragment);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the cache database of the application
|
||||
*/
|
||||
private void clearLocalDatabase() {
|
||||
|
||||
if(!new DebugHelper(this).clearLocalDatabase())
|
||||
Toast.makeText(this, R.string.err_clear_local_db, Toast.LENGTH_SHORT).show();
|
||||
else
|
||||
Toast.makeText(this, R.string.success_clear_local_db, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
android:id="@+id/clear_local_db"
|
||||
android:id="@+id/action_clear_local_db"
|
||||
android:title="@string/menu_clear_local_db"/>
|
||||
|
||||
</menu>
|
@ -179,7 +179,9 @@
|
||||
<string name="notice_no_friend">You do not have any friend yet.</string>
|
||||
<string name="err_get_older_conversation_messages">An error occurred while trying to get older messages for the conversation!</string>
|
||||
<string name="preference_debug_mode_title">Enable debug mode</string>
|
||||
<string name="preference_debug_mode_summary">Enable this option to get access to development / debug features.</string>
|
||||
<string name="preference_debug_mode_summary">Enable this option to get access to development / debug features. (Need application restart to make effect)</string>
|
||||
<string name="menu_debug_title">Debug</string>
|
||||
<string name="menu_clear_local_db">Clear local database</string>
|
||||
<string name="success_clear_local_db">The local database has been successfully cleared! You may need to restart the application to make the changes being fully applied.</string>
|
||||
<string name="err_clear_local_db">An error occurred while trying to clear local database!</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user