├── app ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── drawable │ │ │ └── refresh.png │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── styles.xml │ │ │ └── strings.xml │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ ├── menu │ │ │ └── appstorage_menu.xml │ │ └── layout │ │ │ ├── activity_appstorage_demo.xml │ │ │ ├── layout_database_entry.xml │ │ │ └── layout_sharedpreference_entry.xml │ │ ├── java │ │ └── com │ │ │ └── awesomedroidapps │ │ │ └── appstoragedatareader │ │ │ └── demo │ │ │ ├── Constants.java │ │ │ ├── SharedPreferenceDataType.java │ │ │ ├── entity │ │ │ └── PersonInfo.java │ │ │ ├── DataReaderSqliteOpenHelper.java │ │ │ └── AppStorageDemoActivity.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── inappstoragereader ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── drawable │ │ │ ├── com_awesomedroidapps_inappstoragereader_edit.png │ │ │ ├── com_awesomedroidapps_inappstoragereader_filter.png │ │ │ ├── com_awesomedroidapps_inappstoragereader_refresh.png │ │ │ ├── com_awesomedroidapps_inappstoragereader_tables.png │ │ │ ├── com_awesomedroidapps_inappstoragereader_database.png │ │ │ ├── com_awesomedroidapps_inappstoragereader_item_not_found.png │ │ │ └── com_awesomedroidapps_inappstoragereader_sharedpreferences.png │ │ ├── layout │ │ │ ├── com_awesomedroidapps_inappstoragereadder_custom_spinner.xml │ │ │ ├── com_awesomedroidapps_inappstoragereadder_view_item_row_container.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_activity_appdata_list.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_activity_tables_list.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_query_insert_layout.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_query_delete_layout.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_activity_shared_preferences_list.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_activity_table_data.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_activity_query_result.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_view_error_handler.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_view_individual_data_item.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_query_update_layout.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_query_select_layout.xml │ │ │ ├── com_awesomedroidapps_inappstoragereadder_view_modify.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_icon_with_text_item.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_columns_dropdown.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_activity_clause.xml │ │ │ └── com_awesomedroidapps_inappstoragereader_activity_query_database.xml │ │ ├── values-v14 │ │ │ └── styles.xml │ │ ├── menu │ │ │ ├── com_awesomedroidapps_inappstoragereader_shared_preference_menu.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_table_data.xml │ │ │ ├── com_awesomedroidapps_inappstoragereader_query.xml │ │ │ └── com_awesomedroidapps_inappstoragereader_shared_preferences_popup_menu.xml │ │ └── values │ │ │ ├── color.xml │ │ │ ├── styles.xml │ │ │ ├── dimens.xml │ │ │ └── strings.xml │ │ ├── java │ │ └── com │ │ │ └── awesomedroidapps │ │ │ └── inappstoragereader │ │ │ ├── interfaces │ │ │ ├── ColumnSelectListener.java │ │ │ ├── WhereQuerySelectListener.java │ │ │ ├── TableDataEditListener.java │ │ │ ├── ErrorMessageInterface.java │ │ │ ├── DataItemClickListener.java │ │ │ ├── AppStorageItemClickListener.java │ │ │ ├── ListDataView.java │ │ │ ├── QueryResponseListener.java │ │ │ ├── SharedPreferenceView.java │ │ │ ├── TableDataView.java │ │ │ └── CommandResponses.java │ │ │ ├── QueryStatus.java │ │ │ ├── StorageType.java │ │ │ ├── views │ │ │ ├── QueryDatabaseView.java │ │ │ ├── BaseActivity.java │ │ │ ├── TextWithIconViewHolder.java │ │ │ ├── WhereClauseItemViewHolder.java │ │ │ ├── IconWithTextViewHolder.java │ │ │ ├── DataItemViewHolder.java │ │ │ ├── TableListActivity.java │ │ │ ├── TableColumnsDialog.java │ │ │ ├── AppDataListActivity.java │ │ │ ├── TableDataActivity.java │ │ │ ├── SharedPreferencesActivity.java │ │ │ └── QueryResultActivity.java │ │ │ ├── SharedPreferenceDataType.java │ │ │ ├── SqliteConstants.java │ │ │ ├── ErrorType.java │ │ │ ├── entities │ │ │ ├── AppDataStorageItem.java │ │ │ ├── SharedPreferenceObject.java │ │ │ ├── TableDataResponse.java │ │ │ ├── QueryDatabaseResponse.java │ │ │ ├── TableInfo.java │ │ │ └── QueryDatabaseRequest.java │ │ │ ├── DatabaseQueryCommandType.java │ │ │ ├── DatabaseColumnType.java │ │ │ ├── helpers │ │ │ └── GeneralSqliteHelper.java │ │ │ ├── ErrorMessageHandler.java │ │ │ ├── AppStorageDataRecyclerView.java │ │ │ ├── adapters │ │ │ ├── TableColumnsAdapter.java │ │ │ ├── TableDataListAdapter.java │ │ │ ├── IconWithTextListAdapter.java │ │ │ └── SharedPreferencesListAdapter.java │ │ │ ├── SharedPreferenceAsyncTask.java │ │ │ ├── QueryDatabaseAsyncTask.java │ │ │ ├── AppStorageItemListAsyncTask.java │ │ │ ├── TableDataAsyncTask.java │ │ │ ├── AppDataReader.java │ │ │ ├── Constants.java │ │ │ ├── Utils.java │ │ │ ├── utilities │ │ │ └── AppDatabaseHelper.java │ │ │ ├── DataItemDialogFragment.java │ │ │ └── SharedPreferenceReader.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── images ├── insertDemoImage.png ├── selectDemoImage.png ├── databaseImageDemo.png ├── rawQueryDemoImage.png └── sharedPreferencesDemoImage.png └── README.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /inappstoragereader/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':inappstoragereader' 2 | -------------------------------------------------------------------------------- /images/insertDemoImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/images/insertDemoImage.png -------------------------------------------------------------------------------- /images/selectDemoImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/images/selectDemoImage.png -------------------------------------------------------------------------------- /images/databaseImageDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/images/databaseImageDemo.png -------------------------------------------------------------------------------- /images/rawQueryDemoImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/images/rawQueryDemoImage.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/app/src/main/res/drawable/refresh.png -------------------------------------------------------------------------------- /images/sharedPreferencesDemoImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/images/sharedPreferencesDemoImage.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_edit.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_filter.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_refresh.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_tables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_tables.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_database.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_item_not_found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_item_not_found.png -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_sharedpreferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ansh1234/AppDataReader/HEAD/inappstoragereader/src/main/res/drawable/com_awesomedroidapps_inappstoragereader_sharedpreferences.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/ColumnSelectListener.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | /** 4 | * Created by anshul on 31/03/17. 5 | */ 6 | 7 | public interface ColumnSelectListener { 8 | 9 | void onColumnsSelected(String columns); 10 | } 11 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/WhereQuerySelectListener.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | /** 4 | * Created by anshul on 31/03/17. 5 | */ 6 | 7 | public interface WhereQuerySelectListener { 8 | void onWhereClauseQuerySelected(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/QueryStatus.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader; 2 | 3 | /** 4 | * Created by anshul on 6/3/17. 5 | * This is an enum which either returns success or failure based on the query status. 6 | */ 7 | 8 | public enum QueryStatus { 9 | SUCCESS, 10 | FAILURE; 11 | } 12 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader; 2 | 3 | /** 4 | * An enum for determining the type of storage. 5 | * Created by anshul on 12/2/17. 6 | */ 7 | 8 | public enum StorageType { 9 | SHARED_PREFERENCE, 10 | DATABASE, 11 | TABLE, 12 | ALL; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/TableDataEditListener.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by anshul on 27/04/17. 7 | */ 8 | 9 | public interface TableDataEditListener { 10 | 11 | void onTableDataEdited(String newValue, int columnIndex, List currentColumnValues); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/layout/com_awesomedroidapps_inappstoragereadder_custom_spinner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/ErrorMessageInterface.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.ErrorType; 4 | 5 | /** 6 | * Created by anshul on 25/2/17. 7 | * 8 | * Interface for propogating messages. 9 | */ 10 | 11 | public interface ErrorMessageInterface { 12 | 13 | public void handleError(ErrorType errorType); 14 | } 15 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/views/QueryDatabaseView.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.views; 2 | 3 | /** 4 | * Created by anshul on 25/04/17. 5 | */ 6 | 7 | public interface QueryDatabaseView { 8 | 9 | void onSelectCommandSelected(); 10 | 11 | void onUpdateCommandSelected(); 12 | 13 | void onDeleteCommandSelected(); 14 | 15 | void onInsertCommandSelected(); 16 | 17 | void onRawQueryCommandSelected(); 18 | } 19 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/DataItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by anshul on 26/2/17. 7 | * 8 | * Interface when a data item is clicked. 9 | */ 10 | 11 | public interface DataItemClickListener { 12 | void onDataItemClicked(String data); 13 | 14 | void onDataItemClicked(String data, int columnIndex, List columnValues); 15 | } 16 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/menu/com_awesomedroidapps_inappstoragereader_shared_preference_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/menu/com_awesomedroidapps_inappstoragereader_table_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/AppStorageItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.entities.AppDataStorageItem; 4 | 5 | /** 6 | * Created by anshul on 25/2/17. 7 | * 8 | * Interface when a database or sharedPreference item is clicked. 9 | */ 10 | 11 | public interface AppStorageItemClickListener { 12 | void onItemClicked(AppDataStorageItem appDataStorageItem); 13 | } 14 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/menu/com_awesomedroidapps_inappstoragereader_query.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/ListDataView.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.entities.AppDataStorageItem; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by anshul on 1/3/17. 9 | * * Interface for propogating the response from async tasks to Activity 10 | */ 11 | 12 | public interface ListDataView { 13 | 14 | void onDataFetched(List appDataList); 15 | } 16 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/QueryResponseListener.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.entities.QueryDatabaseResponse; 4 | 5 | /** 6 | * Created by anshul on 1/3/17. 7 | * 8 | * Interface for propogating the response from async tasks to Activity 9 | */ 10 | 11 | public interface QueryResponseListener { 12 | 13 | void onRawQueryDataFetched(QueryDatabaseResponse queryDatabaseResponse); 14 | } 15 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/SharedPreferenceView.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.entities.SharedPreferenceObject; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by anshul on 1/3/17. 9 | * * Interface for propogating the response from async tasks to Activity 10 | 11 | */ 12 | 13 | public interface SharedPreferenceView { 14 | void onSharedPreferencesFetched(List appDataList); 15 | } 16 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/TableDataView.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.entities.AppDataStorageItem; 4 | import com.awesomedroidapps.inappstoragereader.entities.TableDataResponse; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by anshul on 1/3/17. 10 | * 11 | * Interface for propogating the response from async tasks to Activity 12 | */ 13 | 14 | public interface TableDataView { 15 | 16 | void onDataFetched(TableDataResponse tableDataResponse); 17 | } 18 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/layout/com_awesomedroidapps_inappstoragereadder_view_item_row_container.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/SharedPreferenceDataType.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader; 2 | 3 | /** 4 | * Shared Preference data type with it's column width. 5 | * Created by anshul on 12/2/17. 6 | */ 7 | 8 | public enum SharedPreferenceDataType { 9 | STRING("STRING"), 10 | INT("INT"), 11 | FLOAT("FLOAT"), 12 | LONG("LONG"), 13 | BOOLEAN("BOOLEAN"), 14 | STRING_SET("STRING_SET"); 15 | 16 | private String type; 17 | 18 | SharedPreferenceDataType(String type) { 19 | this.type = type; 20 | } 21 | 22 | public String getType() { 23 | return type; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/SqliteConstants.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader; 2 | 3 | /** 4 | * A class for storing DB constants. 5 | * Created by anshul on 11/2/17. 6 | */ 7 | 8 | public class SqliteConstants { 9 | 10 | public static final String JOURNAL_SUFFIX = "-journal"; 11 | public static final String RETRIEVE_ALL_TABLES_QUERY = "SELECT name FROM sqlite_master WHERE " + 12 | "type='table'"; 13 | public static final String SHARED_PREFERENCES_PATH = "/shared_prefs"; 14 | public static final String XML_SUFFIX = ".xml"; 15 | public static final String BLOB = "blob"; 16 | } 17 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/menu/com_awesomedroidapps_inappstoragereader_shared_preferences_popup_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/layout/com_awesomedroidapps_inappstoragereader_activity_appdata_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/awesomedroidapps/appstoragedatareader/demo/Constants.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.appstoragedatareader.demo; 2 | 3 | /** 4 | * Created by anshul on 1/3/17. 5 | */ 6 | 7 | public class Constants { 8 | public static final long INVALID_INSERT_RESPONSE = -1; 9 | public static final int DATABASE_VIEW = 1; 10 | public static final int SHARED_PREFERENCE_VIEW = 2; 11 | public static final String PERSON_INFO_SHARED_PREFERENCES1 = "personInfoSharedPreferences1"; 12 | public static final String PERSON_INFO_SHARED_PREFERENCES2 = "personInfoSharedPreferences2"; 13 | public static final String EMPTY_STRING = ""; 14 | public static final int ZERO_INDEX = 0; 15 | } 16 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/layout/com_awesomedroidapps_inappstoragereader_activity_tables_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/anshul/Android/Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class firstName to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/res/menu/appstorage_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 15 | 19 | -------------------------------------------------------------------------------- /inappstoragereader/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/anshul/Android/Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class firstName to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public_file *; 17 | #} 18 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/interfaces/CommandResponses.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.interfaces; 2 | 3 | import com.awesomedroidapps.inappstoragereader.entities.QueryDatabaseResponse; 4 | 5 | /** 6 | * Created by anshul on 27/04/17. 7 | */ 8 | 9 | public interface CommandResponses { 10 | 11 | void onSelectQueryResponse(QueryDatabaseResponse queryDatabaseResponse); 12 | 13 | void onUpdateQueryResponse(QueryDatabaseResponse queryDatabaseResponse); 14 | 15 | void onDeleteQueryResponse(QueryDatabaseResponse queryDatabaseResponse); 16 | 17 | void onInsertQueryResponse(QueryDatabaseResponse queryDatabaseResponse); 18 | 19 | void onUnknownTypeQueryResponse(QueryDatabaseResponse queryDatabaseResponse); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/ErrorType.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader; 2 | 3 | /** 4 | * Types of error for displaying on various screens. 5 | * Created by anshul on 25/2/17. 6 | */ 7 | 8 | public enum ErrorType { 9 | NO_ITEM_FOUND("No SharedPreferences or Databases found."), 10 | NO_TABLES_FOUND("No tables found in the com_awesomedroidapps_inappstoragereader_database."), 11 | NO_SHARED_PREFERENCES_FOUND("No SharedPreferences found."), 12 | NO_DATABASES_FOUND("No databases found."), 13 | NO_TABLE_DATA_FOUND("No Data for found for this table"); 14 | 15 | private String errorMessage; 16 | 17 | ErrorType(String errorMessage) { 18 | this.errorMessage = errorMessage; 19 | } 20 | 21 | public String getErrorMessage() { 22 | return errorMessage; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/entities/AppDataStorageItem.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.entities; 2 | 3 | import com.awesomedroidapps.inappstoragereader.StorageType; 4 | 5 | /** 6 | * A class for specifying the storage type and name. 7 | * Created by anshul on 12/2/17. 8 | */ 9 | 10 | public class AppDataStorageItem { 11 | 12 | String storageName; 13 | StorageType storageType; 14 | 15 | public String getStorageName() { 16 | return storageName; 17 | } 18 | 19 | public void setStorageName(String storageName) { 20 | this.storageName = storageName; 21 | } 22 | 23 | public StorageType getStorageType() { 24 | return storageType; 25 | } 26 | 27 | public void setStorageType(StorageType storageType) { 28 | this.storageType = storageType; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/awesomedroidapps/appstoragedatareader/demo/SharedPreferenceDataType.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.appstoragedatareader.demo; 2 | 3 | /** 4 | * Shared Preference data type. 5 | * Created by anshul on 12/2/17. 6 | */ 7 | 8 | public enum SharedPreferenceDataType { 9 | UNKNOWN("SELECT DATA TYPE"), 10 | STRING("STRING"), 11 | INT("INT"); 12 | 13 | private String type; 14 | 15 | SharedPreferenceDataType(String type) { 16 | this.type = type; 17 | } 18 | 19 | public String getType() { 20 | return type; 21 | } 22 | 23 | public static SharedPreferenceDataType getDataType(String type) { 24 | for (SharedPreferenceDataType dataType : SharedPreferenceDataType.values()) { 25 | if (dataType.getType().equals(type)) { 26 | return dataType; 27 | } 28 | } 29 | return UNKNOWN; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/java/com/awesomedroidapps/inappstoragereader/views/BaseActivity.java: -------------------------------------------------------------------------------- 1 | package com.awesomedroidapps.inappstoragereader.views; 2 | 3 | import android.os.Bundle; 4 | import android.support.v7.app.AppCompatActivity; 5 | import android.view.MenuItem; 6 | 7 | /** 8 | * Created by anshul on 31/03/17. 9 | */ 10 | 11 | public class BaseActivity extends AppCompatActivity { 12 | 13 | 14 | @Override 15 | protected void onCreate(Bundle savedInstanceState) { 16 | super.onCreate(savedInstanceState); 17 | getSupportActionBar().setDisplayHomeAsUpEnabled(true); 18 | } 19 | 20 | @Override 21 | public boolean onOptionsItemSelected(MenuItem item) { 22 | // Handle item selection 23 | if (item.getItemId() == android.R.id.home) { 24 | onBackPressed(); 25 | } 26 | return super.onOptionsItemSelected(item); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/values/color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #666666 4 | #e53935 5 | #ab000d 6 | #e53935 7 | #00bfa5 8 | #000000 9 | #00bfa5 10 | #ffffff 11 | -------------------------------------------------------------------------------- /inappstoragereader/src/main/res/layout/com_awesomedroidapps_inappstoragereader_query_insert_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 14 |