diff --git a/Listify/.idea/codeStyles/Project.xml b/Listify/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/Listify/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/Listify/.idea/gradle.xml b/Listify/.idea/gradle.xml index 7b5f1f4..5cd135a 100644 --- a/Listify/.idea/gradle.xml +++ b/Listify/.idea/gradle.xml @@ -1,13 +1,19 @@ + diff --git a/Listify/.idea/jarRepositories.xml b/Listify/.idea/jarRepositories.xml new file mode 100644 index 0000000..0380d8d --- /dev/null +++ b/Listify/.idea/jarRepositories.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/AndroidManifest.xml b/Listify/app/src/main/AndroidManifest.xml index 7672ac7..49bc532 100644 --- a/Listify/app/src/main/AndroidManifest.xml +++ b/Listify/app/src/main/AndroidManifest.xml @@ -18,7 +18,30 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/First2Fragment.java b/Listify/app/src/main/java/com/example/listify/First2Fragment.java new file mode 100644 index 0000000..3ca48ef --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/First2Fragment.java @@ -0,0 +1,34 @@ +package com.example.listify; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.navigation.fragment.NavHostFragment; + +public class First2Fragment extends Fragment { + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_first2, container, false); + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + view.findViewById(R.id.button_first).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavHostFragment.findNavController(First2Fragment.this) + .navigate(R.id.action_First2Fragment_to_Second2Fragment); + } + }); + } +} \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/FirstFragment.java b/Listify/app/src/main/java/com/example/listify/FirstFragment.java new file mode 100644 index 0000000..653c343 --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/FirstFragment.java @@ -0,0 +1,34 @@ +package com.example.listify; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.navigation.fragment.NavHostFragment; + +public class FirstFragment extends Fragment { + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_first, container, false); + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + view.findViewById(R.id.button_first).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavHostFragment.findNavController(FirstFragment.this) + .navigate(R.id.action_FirstFragment_to_SecondFragment); + } + }); + } +} \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/MainActivity.java b/Listify/app/src/main/java/com/example/listify/MainActivity.java index f63de5b..525325a 100644 --- a/Listify/app/src/main/java/com/example/listify/MainActivity.java +++ b/Listify/app/src/main/java/com/example/listify/MainActivity.java @@ -1,5 +1,7 @@ package com.example.listify; +import android.app.Activity; +import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Menu; @@ -15,6 +17,7 @@ import androidx.navigation.ui.NavigationUI; import androidx.drawerlayout.widget.DrawerLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; +import android.widget.ImageButton; public class MainActivity extends AppCompatActivity { @@ -26,14 +29,14 @@ public class MainActivity extends AppCompatActivity { setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); - FloatingActionButton fab = findViewById(R.id.fab); - fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - }); +// FloatingActionButton fab = findViewById(R.id.fab); +// fab.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// } +// }); DrawerLayout drawer = findViewById(R.id.drawer_layout); NavigationView navigationView = findViewById(R.id.nav_view); // Passing each menu ID as a set of Ids because each @@ -45,14 +48,29 @@ public class MainActivity extends AppCompatActivity { NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); + + // Handle search button click + ImageButton searchButton = (ImageButton) findViewById(R.id.searchButton); + searchButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { +// onSearchRequested(); + Intent intent = new Intent(MainActivity.this, SearchResults.class); + startActivity(intent); + overridePendingTransition(R.anim.enter_from_left, R.anim.exit_from_left); + + + } + }); } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.main, menu); - return true; - } +// @Override +// public boolean onCreateOptionsMenu(Menu menu) { +// // Inflate the menu; this adds items to the action bar if it is present. +// getMenuInflater().inflate(R.menu.main, menu); +// return true; +// } + @Override public boolean onSupportNavigateUp() { diff --git a/Listify/app/src/main/java/com/example/listify/SearchResults.java b/Listify/app/src/main/java/com/example/listify/SearchResults.java new file mode 100644 index 0000000..0bff7d5 --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/SearchResults.java @@ -0,0 +1,53 @@ +package com.example.listify; + +import android.content.Intent; +import android.os.Bundle; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; + +import android.view.View; +import android.widget.ImageButton; +import android.widget.SearchView; + +public class SearchResults extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_search_results); + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + ImageButton backButton = (ImageButton) findViewById(R.id.backToHomeButton); + backButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + overridePendingTransition(R.anim.enter_from_right, R.anim.exit_from_right); + } + }); + + + SearchView searchView = (SearchView) findViewById(R.id.searchBar); +// searchView.requestFocus(); + searchView.setIconified(false); +// FloatingActionButton fab = findViewById(R.id.fab); +// fab.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// } +// }); + } + + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.enter_from_right, R.anim.exit_from_right); + } +} \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/SearchableActivity.java b/Listify/app/src/main/java/com/example/listify/SearchableActivity.java new file mode 100644 index 0000000..40e1527 --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/SearchableActivity.java @@ -0,0 +1,49 @@ +package com.example.listify; + +//import android.app.ListActivity; +import android.app.SearchManager; +import android.content.Intent; +import android.os.Bundle; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; + +import android.view.View; +import android.widget.ImageButton; + +public class SearchableActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_searchable); + +// Toolbar toolbar = findViewById(R.id.toolbar); +// setSupportActionBar(toolbar); +// +// FloatingActionButton fab = findViewById(R.id.fab); +// fab.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// } +// }); + + // Get search query and send it to doSearch() + Intent intent = getIntent(); + if (Intent.ACTION_SEARCH.equals(intent.getAction())) { + String query = intent.getStringExtra(SearchManager.QUERY); + doSearch(query); + } + } + + // TODO: Implement database search and return results + // https://developer.android.com/guide/topics/search/search-dialog#SearchingYourData + public void doSearch(String query) { + return; + } +} \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/Second2Fragment.java b/Listify/app/src/main/java/com/example/listify/Second2Fragment.java new file mode 100644 index 0000000..6e17432 --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/Second2Fragment.java @@ -0,0 +1,34 @@ +package com.example.listify; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.navigation.fragment.NavHostFragment; + +public class Second2Fragment extends Fragment { + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_second2, container, false); + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + view.findViewById(R.id.button_second).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavHostFragment.findNavController(Second2Fragment.this) + .navigate(R.id.action_Second2Fragment_to_First2Fragment); + } + }); + } +} \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/SecondFragment.java b/Listify/app/src/main/java/com/example/listify/SecondFragment.java new file mode 100644 index 0000000..609a036 --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/SecondFragment.java @@ -0,0 +1,34 @@ +package com.example.listify; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.navigation.fragment.NavHostFragment; + +public class SecondFragment extends Fragment { + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_second, container, false); + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + view.findViewById(R.id.button_second).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavHostFragment.findNavController(SecondFragment.this) + .navigate(R.id.action_SecondFragment_to_FirstFragment); + } + }); + } +} \ No newline at end of file diff --git a/Listify/app/src/main/res/anim/enter_from_left.xml b/Listify/app/src/main/res/anim/enter_from_left.xml new file mode 100644 index 0000000..0840bbb --- /dev/null +++ b/Listify/app/src/main/res/anim/enter_from_left.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/anim/enter_from_right.xml b/Listify/app/src/main/res/anim/enter_from_right.xml new file mode 100644 index 0000000..d974522 --- /dev/null +++ b/Listify/app/src/main/res/anim/enter_from_right.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/anim/exit_from_left.xml b/Listify/app/src/main/res/anim/exit_from_left.xml new file mode 100644 index 0000000..f58d54d --- /dev/null +++ b/Listify/app/src/main/res/anim/exit_from_left.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/anim/exit_from_right.xml b/Listify/app/src/main/res/anim/exit_from_right.xml new file mode 100644 index 0000000..2134fe7 --- /dev/null +++ b/Listify/app/src/main/res/anim/exit_from_right.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/activity_main.xml b/Listify/app/src/main/res/layout/activity_main.xml index 01e2945..1bcfaa6 100644 --- a/Listify/app/src/main/res/layout/activity_main.xml +++ b/Listify/app/src/main/res/layout/activity_main.xml @@ -8,8 +8,13 @@ android:fitsSystemWindows="true" tools:openDrawer="start"> + + + + + diff --git a/Listify/app/src/main/res/layout/activity_search_results.xml b/Listify/app/src/main/res/layout/activity_search_results.xml new file mode 100644 index 0000000..c40ef26 --- /dev/null +++ b/Listify/app/src/main/res/layout/activity_search_results.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/activity_searchable.xml b/Listify/app/src/main/res/layout/activity_searchable.xml new file mode 100644 index 0000000..bf5cae6 --- /dev/null +++ b/Listify/app/src/main/res/layout/activity_searchable.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/app_bar_home.xml b/Listify/app/src/main/res/layout/app_bar_home.xml new file mode 100644 index 0000000..41992e1 --- /dev/null +++ b/Listify/app/src/main/res/layout/app_bar_home.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/content_search.xml b/Listify/app/src/main/res/layout/content_search.xml new file mode 100644 index 0000000..3691469 --- /dev/null +++ b/Listify/app/src/main/res/layout/content_search.xml @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/content_search_results.xml b/Listify/app/src/main/res/layout/content_search_results.xml new file mode 100644 index 0000000..3691469 --- /dev/null +++ b/Listify/app/src/main/res/layout/content_search_results.xml @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/fragment_first.xml b/Listify/app/src/main/res/layout/fragment_first.xml new file mode 100644 index 0000000..fb44a3d --- /dev/null +++ b/Listify/app/src/main/res/layout/fragment_first.xml @@ -0,0 +1,28 @@ + + + + + +