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_PACKAGE_NAME := ShortcutDemo
|
||||||
|
|
||||||
|
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4
|
||||||
|
|
||||||
LOCAL_MODULE_TAGS := samples tests
|
LOCAL_MODULE_TAGS := samples tests
|
||||||
|
|
||||||
LOCAL_AAPT_FLAGS += --rename-manifest-package com.example.android.pm.shortcutdemo
|
LOCAL_AAPT_FLAGS += --rename-manifest-package com.example.android.pm.shortcutdemo
|
||||||
@@ -43,6 +45,8 @@ include $(CLEAR_VARS)
|
|||||||
|
|
||||||
LOCAL_PACKAGE_NAME := ShortcutDemo2
|
LOCAL_PACKAGE_NAME := ShortcutDemo2
|
||||||
|
|
||||||
|
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4
|
||||||
|
|
||||||
LOCAL_MODULE_TAGS := samples tests
|
LOCAL_MODULE_TAGS := samples tests
|
||||||
|
|
||||||
LOCAL_AAPT_FLAGS += --rename-manifest-package com.example.android.pm.shortcutdemo2
|
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"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.example.android.pm.shortcutdemo">
|
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.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_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.graphics.drawable.Icon;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
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.text.format.Time;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -198,6 +201,21 @@ public class ShortcutPublisher extends Activity {
|
|||||||
return b;
|
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) {
|
public void onPublishPressed(View view) {
|
||||||
dumpCurrentShortcuts();
|
dumpCurrentShortcuts();
|
||||||
final Icon icon2 = Icon.createWithBitmap(BitmapFactory.decodeResource(getResources(),
|
final Icon icon2 = Icon.createWithBitmap(BitmapFactory.decodeResource(getResources(),
|
||||||
@@ -305,12 +323,12 @@ public class ShortcutPublisher extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void requestPinShortcut(Context context) {
|
public static void requestPinShortcut(Context context) {
|
||||||
if (!context.getSystemService(ShortcutManager.class).isRequestPinShortcutSupported()) {
|
if (!ShortcutManagerCompat.isRequestPinShortcutSupported(context)) {
|
||||||
showToast(context, "requestPinShortcut() is not supported by launcher");
|
showToast(context, "requestPinShortcut() is not supported by launcher");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final ShortcutInfo si = addRandomIntents(
|
final ShortcutInfoCompat si = addRandomIntents(
|
||||||
context, new ShortcutInfo.Builder(context,
|
context, new ShortcutInfoCompat.Builder(context,
|
||||||
"shortcut-" + System.currentTimeMillis()))
|
"shortcut-" + System.currentTimeMillis()))
|
||||||
.build();
|
.build();
|
||||||
final PendingIntent resultIntent = PendingIntent.getBroadcast(context, 0,
|
final PendingIntent resultIntent = PendingIntent.getBroadcast(context, 0,
|
||||||
@@ -318,7 +336,7 @@ public class ShortcutPublisher extends Activity {
|
|||||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
||||||
ShortcutPublisher.callApi(context, () -> {
|
ShortcutPublisher.callApi(context, () -> {
|
||||||
context.getSystemService(ShortcutManager.class).requestPinShortcut(
|
ShortcutManagerCompat.requestPinShortcut(context,
|
||||||
si, resultIntent.getIntentSender());
|
si, resultIntent.getIntentSender());
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
|||||||
|
|
||||||
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
|
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
|
||||||
|
|
||||||
|
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4
|
||||||
|
|
||||||
LOCAL_SDK_VERSION := current
|
LOCAL_SDK_VERSION := current
|
||||||
|
|
||||||
include $(BUILD_PACKAGE)
|
include $(BUILD_PACKAGE)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.example.android.shortcutsample">
|
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" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
@@ -42,6 +42,12 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.LOCALE_CHANGED" />
|
<action android:name="android.intent.action.LOCALE_CHANGED" />
|
||||||
</intent-filter>
|
</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>
|
</receiver>
|
||||||
</application>
|
</application>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import android.content.pm.ShortcutInfo;
|
|||||||
import android.content.pm.ShortcutManager;
|
import android.content.pm.ShortcutManager;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -88,7 +89,8 @@ public class Main extends ListActivity implements OnClickListener {
|
|||||||
sVisibleInstances.add(this);
|
sVisibleInstances.add(this);
|
||||||
}
|
}
|
||||||
findViewById(R.id.request_new_pin_shortcut).setVisibility(
|
findViewById(R.id.request_new_pin_shortcut).setVisibility(
|
||||||
mShortcutManager.isRequestPinShortcutSupported() ? View.VISIBLE : View.GONE);
|
ShortcutManagerCompat.isRequestPinShortcutSupported(this)
|
||||||
|
? View.VISIBLE : View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -309,7 +311,8 @@ public class Main extends ListActivity implements OnClickListener {
|
|||||||
remove.setVisibility(shortcut.isImmutable() ? View.GONE : View.VISIBLE);
|
remove.setVisibility(shortcut.isImmutable() ? View.GONE : View.VISIBLE);
|
||||||
disable.setVisibility(shortcut.isImmutable() ? View.GONE : View.VISIBLE);
|
disable.setVisibility(shortcut.isImmutable() ? View.GONE : View.VISIBLE);
|
||||||
requestPin.setVisibility(
|
requestPin.setVisibility(
|
||||||
mShortcutManager.isRequestPinShortcutSupported() ? View.VISIBLE : View.GONE);
|
ShortcutManagerCompat.isRequestPinShortcutSupported(mContext)
|
||||||
|
? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
remove.setOnClickListener(Main.this);
|
remove.setOnClickListener(Main.this);
|
||||||
disable.setOnClickListener(Main.this);
|
disable.setOnClickListener(Main.this);
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import android.graphics.drawable.Icon;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
|
import android.support.v4.content.pm.ShortcutInfoCompat;
|
||||||
|
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
@@ -227,8 +229,8 @@ public class ShortcutHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void requestPinShortcut(String id) {
|
public void requestPinShortcut(String id) {
|
||||||
mShortcutManager.requestPinShortcut(
|
ShortcutManagerCompat.requestPinShortcut(mContext,
|
||||||
new ShortcutInfo.Builder(mContext, id).build(),
|
new ShortcutInfoCompat.Builder(mContext, id).build(),
|
||||||
MyReceiver.getPinRequestAcceptedIntent(mContext).getIntentSender());
|
MyReceiver.getPinRequestAcceptedIntent(mContext).getIntentSender());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user