Merge "Use support lib shortcut manager in sample apps" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b0bcb8f365
@@ -23,6 +23,8 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_PACKAGE_NAME := ShortcutDemo
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4
|
||||
|
||||
LOCAL_MODULE_TAGS := samples tests
|
||||
|
||||
LOCAL_AAPT_FLAGS += --rename-manifest-package com.example.android.pm.shortcutdemo
|
||||
@@ -43,6 +45,8 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_PACKAGE_NAME := ShortcutDemo2
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4
|
||||
|
||||
LOCAL_MODULE_TAGS := samples tests
|
||||
|
||||
LOCAL_AAPT_FLAGS += --rename-manifest-package com.example.android.pm.shortcutdemo2
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.example.android.pm.shortcutdemo">
|
||||
|
||||
<uses-sdk android:minSdkVersion="24" />
|
||||
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="26" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
@@ -31,6 +31,9 @@ import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.content.pm.ShortcutInfoCompat;
|
||||
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||
import android.support.v4.graphics.drawable.IconCompat;
|
||||
import android.text.format.Time;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.Log;
|
||||
@@ -198,6 +201,21 @@ public class ShortcutPublisher extends Activity {
|
||||
return b;
|
||||
}
|
||||
|
||||
public static ShortcutInfoCompat.Builder addRandomIntents(Context context,
|
||||
ShortcutInfoCompat.Builder b) {
|
||||
final int i = sRandom.nextInt(sIntentList.size());
|
||||
b.setShortLabel(sIntentList.get(i).first);
|
||||
b.setIntent(new Intent(Intent.ACTION_VIEW, Uri.parse(sIntentList.get(i).second)));
|
||||
|
||||
if (sRandom.nextBoolean()) {
|
||||
b.setIcon(IconCompat.createWithResource(context, R.drawable.icon2));
|
||||
} else {
|
||||
b.setIcon(IconCompat.createWithBitmap(
|
||||
BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_large_2)));
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
public void onPublishPressed(View view) {
|
||||
dumpCurrentShortcuts();
|
||||
final Icon icon2 = Icon.createWithBitmap(BitmapFactory.decodeResource(getResources(),
|
||||
@@ -305,12 +323,12 @@ public class ShortcutPublisher extends Activity {
|
||||
}
|
||||
|
||||
public static void requestPinShortcut(Context context) {
|
||||
if (!context.getSystemService(ShortcutManager.class).isRequestPinShortcutSupported()) {
|
||||
if (!ShortcutManagerCompat.isRequestPinShortcutSupported(context)) {
|
||||
showToast(context, "requestPinShortcut() is not supported by launcher");
|
||||
return;
|
||||
}
|
||||
final ShortcutInfo si = addRandomIntents(
|
||||
context, new ShortcutInfo.Builder(context,
|
||||
final ShortcutInfoCompat si = addRandomIntents(
|
||||
context, new ShortcutInfoCompat.Builder(context,
|
||||
"shortcut-" + System.currentTimeMillis()))
|
||||
.build();
|
||||
final PendingIntent resultIntent = PendingIntent.getBroadcast(context, 0,
|
||||
@@ -318,7 +336,7 @@ public class ShortcutPublisher extends Activity {
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
|
||||
ShortcutPublisher.callApi(context, () -> {
|
||||
context.getSystemService(ShortcutManager.class).requestPinShortcut(
|
||||
ShortcutManagerCompat.requestPinShortcut(context,
|
||||
si, resultIntent.getIntentSender());
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -28,6 +28,8 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
||||
|
||||
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4
|
||||
|
||||
LOCAL_SDK_VERSION := current
|
||||
|
||||
include $(BUILD_PACKAGE)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.example.android.shortcutsample">
|
||||
|
||||
<uses-sdk android:minSdkVersion="25" />
|
||||
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="26" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
@@ -42,6 +42,12 @@
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.LOCALE_CHANGED" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
</application>
|
||||
</manifest>
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.content.pm.ShortcutInfo;
|
||||
import android.content.pm.ShortcutManager;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||
import android.util.ArraySet;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -88,7 +89,8 @@ public class Main extends ListActivity implements OnClickListener {
|
||||
sVisibleInstances.add(this);
|
||||
}
|
||||
findViewById(R.id.request_new_pin_shortcut).setVisibility(
|
||||
mShortcutManager.isRequestPinShortcutSupported() ? View.VISIBLE : View.GONE);
|
||||
ShortcutManagerCompat.isRequestPinShortcutSupported(this)
|
||||
? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -309,7 +311,8 @@ public class Main extends ListActivity implements OnClickListener {
|
||||
remove.setVisibility(shortcut.isImmutable() ? View.GONE : View.VISIBLE);
|
||||
disable.setVisibility(shortcut.isImmutable() ? View.GONE : View.VISIBLE);
|
||||
requestPin.setVisibility(
|
||||
mShortcutManager.isRequestPinShortcutSupported() ? View.VISIBLE : View.GONE);
|
||||
ShortcutManagerCompat.isRequestPinShortcutSupported(mContext)
|
||||
? View.VISIBLE : View.GONE);
|
||||
|
||||
remove.setOnClickListener(Main.this);
|
||||
disable.setOnClickListener(Main.this);
|
||||
|
||||
@@ -25,6 +25,8 @@ import android.graphics.drawable.Icon;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.PersistableBundle;
|
||||
import android.support.v4.content.pm.ShortcutInfoCompat;
|
||||
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
@@ -227,8 +229,8 @@ public class ShortcutHelper {
|
||||
}
|
||||
|
||||
public void requestPinShortcut(String id) {
|
||||
mShortcutManager.requestPinShortcut(
|
||||
new ShortcutInfo.Builder(mContext, id).build(),
|
||||
ShortcutManagerCompat.requestPinShortcut(mContext,
|
||||
new ShortcutInfoCompat.Builder(mContext, id).build(),
|
||||
MyReceiver.getPinRequestAcceptedIntent(mContext).getIntentSender());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user