diff --git a/app/app.iml b/app/app.iml index 1a4d498..5e29317 100644 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -87,6 +87,7 @@ + diff --git a/app/src/main/java/org/openlp/android2/OpenLP.java b/app/src/main/java/org/openlp/android2/OpenLP.java index 5312d6b..357a65f 100644 --- a/app/src/main/java/org/openlp/android2/OpenLP.java +++ b/app/src/main/java/org/openlp/android2/OpenLP.java @@ -42,6 +42,7 @@ import org.openlp.android2.fragments.HomeFragment; import org.openlp.android2.fragments.LiveListFragment; import org.openlp.android2.fragments.LiveWebFragment; import org.openlp.android2.fragments.NavigationDrawerFragment; +import org.openlp.android2.fragments.SearchFragment; import org.openlp.android2.fragments.ServiceListFragment; import org.openlp.android2.fragments.StageWebFragment; @@ -163,6 +164,15 @@ public class OpenLP extends ActionBarActivity toggerContainer(R.id.next_button, View.GONE); toggerContainer(R.id.prev_button, View.GONE); break; + case NavigationOptions.Search: + singleTab(); + fragmentManager.beginTransaction() + .replace(R.id.container, SearchFragment.newInstance()) + .commit(); + mTitle = getString(R.string.action_search); + toggerContainer(R.id.next_button, View.GONE); + toggerContainer(R.id.prev_button, View.GONE); + break; } } diff --git a/app/src/main/java/org/openlp/android2/common/NavigationOptions.java b/app/src/main/java/org/openlp/android2/common/NavigationOptions.java index b231c3c..e2726b4 100644 --- a/app/src/main/java/org/openlp/android2/common/NavigationOptions.java +++ b/app/src/main/java/org/openlp/android2/common/NavigationOptions.java @@ -24,4 +24,5 @@ public class NavigationOptions{ public final static int LiveList = 2; public final static int StageView = 3; public final static int LiveView = 4; + public final static int Search = 5; } diff --git a/app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java b/app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java index 6024cf6..1a30a1e 100644 --- a/app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java +++ b/app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java @@ -152,6 +152,11 @@ public class NavigationDrawerFragment extends Fragment { hm4.put("icon", Integer.toString(R.drawable.ic_ondemand_video_black)); aList.add(hm4); + HashMap hm5 = new HashMap(); + hm4.put("title", getString(R.string.action_search)); + hm4.put("icon", Integer.toString(R.drawable.ic_ondemand_video_black)); + aList.add(hm5); + // Keys used in Hashmap String[] from = {"icon", "title"}; diff --git a/app/src/main/java/org/openlp/android2/fragments/SearchFragment.java b/app/src/main/java/org/openlp/android2/fragments/SearchFragment.java new file mode 100644 index 0000000..c231a29 --- /dev/null +++ b/app/src/main/java/org/openlp/android2/fragments/SearchFragment.java @@ -0,0 +1,87 @@ +package org.openlp.android2.fragments; + +import android.app.Activity; +import android.net.Uri; +import android.os.Bundle; +import android.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import org.openlp.android2.R; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link SearchFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link SearchFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class SearchFragment extends Fragment { + + + private OnFragmentInteractionListener mListener; + + public SearchFragment() { + // Required empty public constructor + } + + public static SearchFragment newInstance() { + SearchFragment fragment = new SearchFragment(); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_search, container, false); + } + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed(Uri uri) { + if (mListener != null) { + mListener.onFragmentInteraction(uri); + } + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + try { + mListener = (OnFragmentInteractionListener) activity; + } catch (ClassCastException e) { + throw new ClassCastException(activity.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + public void onFragmentInteraction(Uri uri); + } + +} diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 0000000..81d79de --- /dev/null +++ b/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index df5a823..5cd1ee9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -36,7 +36,7 @@ Enable Custom Timeouts Enter Alert Text Allow displays to auto center - Home + Home Unauthorised Access, please enter valid username and password Live List Live View @@ -45,6 +45,14 @@ Next None Port + + Songs + Bibles + Presentations + Images + Media + Custom + Previous Process Service List @@ -54,4 +62,7 @@ Settings Hostname or IP Unable to process request - check network settings + + + Hello blank fragment