Skip to content

Commit 9028b40

Browse files
author
Chris Bellew
committed
Added install homescreen shortcut to menu.
1 parent 47ee706 commit 9028b40

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

Voice Control For Plex/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<uses-permission android:name="net.dinglisch.android.tasker.PERMISSION_RUN_TASKS" />
1212
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1313
<uses-permission android:name="android.permission.RECORD_AUDIO" />
14+
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
1415

1516
<uses-sdk
1617
android:minSdkVersion="14"

Voice Control For Plex/src/main/java/com/atomjack/vcfp/MainActivity.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
import java.io.File;
44
import java.io.FileOutputStream;
55
import java.io.InputStream;
6+
import java.math.BigInteger;
7+
import java.security.SecureRandom;
68
import java.util.ArrayList;
79

810
import us.nineworlds.serenity.GDMReceiver;
911
import android.app.Activity;
1012
import android.app.AlertDialog;
1113
import android.app.Dialog;
14+
import android.app.PendingIntent;
1215
import android.content.BroadcastReceiver;
1316
import android.content.DialogInterface;
1417
import android.content.Intent;
@@ -20,6 +23,7 @@
2023
import android.net.Uri;
2124
import android.os.Bundle;
2225
import android.os.Environment;
26+
import android.speech.RecognizerIntent;
2327
import android.speech.tts.TextToSpeech;
2428
import android.support.v4.content.LocalBroadcastManager;
2529
import android.view.Menu;
@@ -337,6 +341,20 @@ public void onClick(DialogInterface dialog, int id) {
337341
d.show();
338342
}
339343

344+
public void installShortcut(MenuItem item) {
345+
Intent.ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher);
346+
347+
Intent launchIntent = new Intent(this, ShortcutActivity.class);
348+
349+
final Intent intent = new Intent();
350+
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launchIntent);
351+
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
352+
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher));
353+
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
354+
355+
sendBroadcast(intent);
356+
}
357+
340358
public void showAbout(MenuItem item) {
341359
AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this)
342360
.setTitle(R.string.app_name)

Voice Control For Plex/src/main/res/menu/menu_main.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
android:title="@string/menu_donate"
99
android:onClick="donate">
1010
</item>
11+
<item android:id="@+id/menu_install_short"
12+
android:title="@string/menu_install_shortcut"
13+
android:onClick="installShortcut">
14+
</item>
1115
<item android:id="@+id/menu_tasker_import"
1216
android:title="@string/menu_tasker_import"
1317
android:onClick="importTaskerProject">

Voice Control For Plex/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<string name="menu_about">About</string>
1212
<string name="about_text">Voice Control for Plex\n© 2013 Chris Bellew\nLicensed under GPLv3\n\nPlex is copyright Plex, Inc.</string>
1313
<string name="menu_donate">Donate</string>
14+
<string name="menu_install_shortcut">Install Homescreen Shortcut</string>
1415
<string name="menu_tasker_import">Import Tasker Project</string>
1516
<string name="menu_install_tasker">Install Tasker</string>
1617
<string name="menu_install_utter">Install utter!</string>

0 commit comments

Comments
 (0)