diff options
| author | 2023-03-29 16:25:24 +0200 | |
|---|---|---|
| committer | 2023-03-30 21:44:42 +0200 | |
| commit | eea0044b890fba335b96cb77cb77da6b9640b696 (patch) | |
| tree | cf6b44bdcabd78a23c7ff86006eb5ed21774c4a4 /app/src | |
| download | searchshortcut-master.tar.xz searchshortcut-master.zip | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src')
| -rw-r--r-- | app/src/main/AndroidManifest.xml | 36 | ||||
| -rw-r--r-- | app/src/main/java/com/zx2c4/searchshortcut/ReceiveTextActivity.java | 37 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 5 |
3 files changed, 78 insertions, 0 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..903199b --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android"> + + <application + android:icon="@android:drawable/ic_search_category_default" + android:label="@string/app_name"> + <activity + android:name=".ReceiveTextActivity" + android:excludeFromRecents="true" + android:exported="true" + android:label="@string/shortcut_label" + android:relinquishTaskIdentity="true" + android:theme="@android:style/Theme.NoDisplay"> + + <intent-filter> + <action android:name="android.intent.action.PROCESS_TEXT" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:mimeType="text/*" /> + </intent-filter> + + <intent-filter> + <action android:name="android.intent.action.SEND" /> + <category android:name="android.intent.category.DEFAULT" /> + + <data android:mimeType="text/*" /> + <data android:mimeType="application/txt" /> + <data android:mimeType="image/*" /> + </intent-filter> + <intent-filter> + <action android:name="android.intent.action.WEB_SEARCH" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + + </activity> + </application> +</manifest>
\ No newline at end of file diff --git a/app/src/main/java/com/zx2c4/searchshortcut/ReceiveTextActivity.java b/app/src/main/java/com/zx2c4/searchshortcut/ReceiveTextActivity.java new file mode 100644 index 0000000..7afee6b --- /dev/null +++ b/app/src/main/java/com/zx2c4/searchshortcut/ReceiveTextActivity.java @@ -0,0 +1,37 @@ +/* + * Copyright © 2023 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.zx2c4.searchshortcut; + +import android.app.Activity; +import android.app.SearchManager; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.widget.Toast; + +public class ReceiveTextActivity extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + CharSequence text = getIntent().getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT); + if (text == null || text.length() == 0) + text = getIntent().getStringExtra(SearchManager.QUERY); + if (text == null || text.length() == 0) { + finish(); + return; + } + + Intent searchIntent = new Intent(Intent.ACTION_VIEW); + searchIntent.setData(Uri.parse("https://www.google.com/search?q=" + Uri.encode(text.toString()))); + searchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + try { + getApplicationContext().startActivity(searchIntent); + } catch (final Exception e) { + Toast.makeText(getApplicationContext(), e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); + } + finish(); + } +}
\ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..db25ab7 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">Search Shortcut</string> + <string name="shortcut_label">Search Google</string> +</resources>
\ No newline at end of file |
