diff --git a/starter-code/ShoppingListWithSearch/.idea/.name b/starter-code/ShoppingListWithSearch/.idea/.name new file mode 100644 index 0000000..10ee423 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/.name @@ -0,0 +1 @@ +ShoppingListWithSearch \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/compiler.xml b/starter-code/ShoppingListWithSearch/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml b/starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/gradle.xml b/starter-code/ShoppingListWithSearch/.idea/gradle.xml new file mode 100644 index 0000000..1bbc21d --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/misc.xml b/starter-code/ShoppingListWithSearch/.idea/misc.xml new file mode 100644 index 0000000..c60d22d --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/misc.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.7 + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/modules.xml b/starter-code/ShoppingListWithSearch/.idea/modules.xml new file mode 100644 index 0000000..27a232c --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml b/starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/vcs.xml b/starter-code/ShoppingListWithSearch/.idea/vcs.xml new file mode 100644 index 0000000..6564d52 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml b/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml index 77155bc..ca36734 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml +++ b/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml @@ -13,7 +13,11 @@ + + diff --git a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java index ab2c048..ae3e09c 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java +++ b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java @@ -2,6 +2,7 @@ import android.app.SearchManager; import android.content.Context; +import android.content.Intent; import android.database.Cursor; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; @@ -22,18 +23,41 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - mShoppingListView = (ListView)findViewById(R.id.shopping_list_view); + mShoppingListView = (ListView) findViewById(R.id.shopping_list_view); Cursor cursor = ShoppingSQLiteOpenHelper.getInstance(MainActivity.this).getShoppingList(); - mCursorAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,cursor,new String[]{ShoppingSQLiteOpenHelper.COL_ITEM_NAME},new int[]{android.R.id.text1},0); + mCursorAdapter = new SimpleCursorAdapter(this, R.layout.list_layout, cursor, new String[]{ShoppingSQLiteOpenHelper.COL_ITEM_NAME, ShoppingSQLiteOpenHelper.COL_ITEM_TYPE}, new int[]{R.id.item_name, R.id.item_type}, 0); mShoppingListView.setAdapter(mCursorAdapter); + + handleIntent(getIntent()); + } + + @Override + protected void onNewIntent(Intent intent) { + handleIntent(intent); } + private void handleIntent(Intent intent) { + if (Intent.ACTION_SEARCH.equals(intent.getAction())){ + String query = intent.getStringExtra(SearchManager.QUERY); + Cursor cursor = ShoppingSQLiteOpenHelper.getInstance(MainActivity.this).searchFood(query); + mCursorAdapter.swapCursor(cursor); + + } + } + + public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.main_menu, menu); - return super.onCreateOptionsMenu(menu); + SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); + SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); + + searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); + + return true; } + } diff --git a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java index f5a5974..347200b 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java +++ b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java @@ -103,6 +103,20 @@ public Cursor getShoppingList(){ return cursor; } + public Cursor searchFood(String query){ + + SQLiteDatabase db = this.getReadableDatabase(); + + Cursor cursor = db.query(SHOPPING_LIST_TABLE_NAME, // a. table + SHOPPING_COLUMNS, // b. column names + COL_ITEM_NAME+" LIKE ? OR "+COL_ITEM_TYPE+" LIKE ? ", // c. selections + new String[]{"%" +query + "%", "%"+query+"%"}, // d. selections args + null, // e. group by + null, // f. having + null, // g. order by + null); // h. limit + return cursor; + } public int deleteItem(int id){ SQLiteDatabase db = getWritableDatabase(); diff --git a/starter-code/ShoppingListWithSearch/app/src/main/res/layout/list_layout.xml b/starter-code/ShoppingListWithSearch/app/src/main/res/layout/list_layout.xml new file mode 100644 index 0000000..6ae7f1a --- /dev/null +++ b/starter-code/ShoppingListWithSearch/app/src/main/res/layout/list_layout.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/app/src/main/res/menu/main_menu.xml b/starter-code/ShoppingListWithSearch/app/src/main/res/menu/main_menu.xml index 8c7082d..c92cf5c 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/res/menu/main_menu.xml +++ b/starter-code/ShoppingListWithSearch/app/src/main/res/menu/main_menu.xml @@ -4,7 +4,7 @@ \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml b/starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml new file mode 100644 index 0000000..4f1f3d4 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file