From: David A. Velasco Date: Thu, 15 Oct 2015 17:24:16 +0000 (+0200) Subject: Complete search widget to send search requests to parent activity X-Git-Tag: oc-android-1.9^2~30^2~51 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/e3d509a451d89248a4598b4157036ebb662dc464 Complete search widget to send search requests to parent activity --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e758be27..93424a11 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -189,7 +189,13 @@ + android:theme="@style/Theme.ownCloud.Dialog" + android:launchMode="singleTop" > + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 49a31f92..987a9a07 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -373,7 +373,6 @@ Add User or Group Search - - Hello blank fragment + Search users and groups diff --git a/res/xml/searchable.xml b/res/xml/searchable.xml new file mode 100644 index 00000000..e6703f00 --- /dev/null +++ b/res/xml/searchable.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/src/com/owncloud/android/ui/activity/ShareActivity.java b/src/com/owncloud/android/ui/activity/ShareActivity.java index 47709cbd..0cb8ee5d 100644 --- a/src/com/owncloud/android/ui/activity/ShareActivity.java +++ b/src/com/owncloud/android/ui/activity/ShareActivity.java @@ -2,6 +2,7 @@ * ownCloud Android client application * * @author masensio + * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify @@ -21,13 +22,15 @@ package com.owncloud.android.ui.activity; import android.accounts.Account; +import android.app.SearchManager; +import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import android.widget.Toast; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; @@ -94,6 +97,28 @@ public class ShareActivity extends AppCompatActivity mSearchFragment = null; } + handleIntent(getIntent()); + } + + + @Override + protected void onNewIntent(Intent intent) { + setIntent(intent); + handleIntent(intent); + } + + + private void handleIntent(Intent intent) { + // Verify the action and get the query + if (Intent.ACTION_SEARCH.equals(intent.getAction())) { + String query = intent.getStringExtra(SearchManager.QUERY); + doMySearch(query); + } + } + + private void doMySearch(String query) { + // TODO implement + Toast.makeText(this, "You want to search for [" + query + "]", Toast.LENGTH_SHORT).show(); } @Override diff --git a/src/com/owncloud/android/ui/fragment/SearchFragment.java b/src/com/owncloud/android/ui/fragment/SearchFragment.java index 7fa955a5..12a73c29 100644 --- a/src/com/owncloud/android/ui/fragment/SearchFragment.java +++ b/src/com/owncloud/android/ui/fragment/SearchFragment.java @@ -22,12 +22,15 @@ package com.owncloud.android.ui.fragment; import android.accounts.Account; import android.app.Activity; +import android.app.SearchManager; +import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.SearchView; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; @@ -43,7 +46,7 @@ import com.owncloud.android.datamodel.OCFile; * create an instance of this fragment. */ public class SearchFragment extends Fragment { - private static final String TAG = ShareFileFragment.class.getSimpleName(); + private static final String TAG = SearchFragment.class.getSimpleName(); // the fragment initialization parameters private static final String ARG_FILE = "FILE"; @@ -92,6 +95,14 @@ public class SearchFragment extends Fragment { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.search_users_groups_layout, container, false); + // Get the SearchView and set the searchable configuration + SearchView searchView = (SearchView) view.findViewById(R.id.searchView); + SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE); + searchView.setSearchableInfo(searchManager.getSearchableInfo( + getActivity().getComponentName()) // assumes parent activity is the searchable activity + ); + searchView.setIconifiedByDefault(false); // do not iconify the widget; expand it by default + return view; }