diff --git a/AndroidManifest.xml b/AndroidManifest.xml index f6cb477ba..d780b6be6 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -95,7 +95,7 @@ @@ -131,13 +131,9 @@ android:resource="@xml/kiwix_widget_provider_info" /> - - \ No newline at end of file diff --git a/src/org/kiwix/kiwixmobile/KiwixMobileActivity.java b/src/org/kiwix/kiwixmobile/KiwixMobileActivity.java index f52d43f80..3a0f68087 100644 --- a/src/org/kiwix/kiwixmobile/KiwixMobileActivity.java +++ b/src/org/kiwix/kiwixmobile/KiwixMobileActivity.java @@ -485,6 +485,9 @@ public class KiwixMobileActivity extends AppCompatActivity { if (i.getBooleanExtra("library",false)){ manageZimFiles(2); } + if (i.hasExtra(TAG_FILE_SEARCHED)){ + searchForTitle(i.getStringExtra(TAG_FILE_SEARCHED)); + } if (i.hasExtra("zimFile")){ File file = new File(i.getStringExtra("zimFile")); LibraryFragment.mService.cancelNotification(i.getIntExtra("notificationID",0)); @@ -1331,6 +1334,19 @@ public class KiwixMobileActivity extends AppCompatActivity { super.onConfigurationChanged(newConfig); } + public void searchForTitle(String title){ + String articleUrl = ""; + + if (title.startsWith("A/")) { + articleUrl = title; + } else { + articleUrl = ZimContentProvider.getPageUrlFromTitle(title); + } + + //System.out.println("Opening "+articleUrl + " (" + title + ")"); + + openArticle(articleUrl); + } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -1367,17 +1383,7 @@ public class KiwixMobileActivity extends AppCompatActivity { if (resultCode == RESULT_OK) { String title = data.getStringExtra(TAG_FILE_SEARCHED).replace("", "").replace("", ""); - String articleUrl = ""; - - if (title.startsWith("A/")) { - articleUrl = title; - } else { - articleUrl = ZimContentProvider.getPageUrlFromTitle(title); - } - - //System.out.println("Opening "+articleUrl + " (" + title + ")"); - - openArticle(articleUrl); + searchForTitle(title); } break; case REQUEST_PREFERENCES: diff --git a/src/org/kiwix/kiwixmobile/SearchActivity.java b/src/org/kiwix/kiwixmobile/SearchActivity.java index 88db163f4..45b8eec3f 100644 --- a/src/org/kiwix/kiwixmobile/SearchActivity.java +++ b/src/org/kiwix/kiwixmobile/SearchActivity.java @@ -4,6 +4,7 @@ import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.provider.Settings; import android.speech.RecognizerIntent; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.AlertDialog; @@ -124,10 +125,15 @@ public class SearchActivity extends AppCompatActivity } private void sendMessage(String uri) { - Intent i = new Intent(); + Intent i = new Intent(this, KiwixMobileActivity.class); i.putExtra(KiwixMobileActivity.TAG_FILE_SEARCHED, uri); - setResult(RESULT_OK, i); - finish(); + int value = Settings.System.getInt(getContentResolver(), Settings.System.ALWAYS_FINISH_ACTIVITIES, 0); + if (value == 1) { + startActivity(i); + } else { + setResult(RESULT_OK, i); + finish(); + } } @Override