public void onConnected() {
Bundle extras = MediabrowserCompatApi21.getExtras(this.mbrowserObj);
if (extras != null) {
IBinder serviceBinder = BundleCompat.getBinder(extras,MediabrowserProtocol.EXTRA_MESSENGER_BINDER);
if (serviceBinder != null) {
this.mServiceBinderWrapper = new ServiceBinderWrapper(serviceBinder);
this.mCallbacksMessenger = new Messenger(this.mHandler);
this.mHandler.setCallbacksMessenger(this.mCallbacksMessenger);
try {
this.mServiceBinderWrapper.registerCallbackMessenger(this.mCallbacksMessenger);
} catch (remoteexception e) {
Log.i(MediabrowserCompat.TAG,"Remote error registering client messenger.");
}
onServiceConnected(this.mCallbacksMessenger,null,null);
}
}
}
项目:airgram
文件:CustomTabsIntent.java
public Builder(@Nullable CustomTabsSession session) {
this.mIntent = new Intent("android.intent.action.VIEW");
this.mMenuItems = null;
this.mStartAnimationBundle = null;
this.mActionButtons = null;
if (session != null) {
this.mIntent.setPackage(session.getComponentName().getPackageName());
}
Bundle bundle = new Bundle();
BundleCompat.putBinder(bundle,"android.support.customtabs.extra.SESSION",session == null ? null : session.getBinder());
this.mIntent.putExtras(bundle);
}
项目:chromium-for-android-56-debug-video
文件:IntentUtils.java
/**
* Just like {@link BundleCompat#getBinder()},but doesn't throw exceptions.
*/
public static IBinder safeGetBinder(Bundle bundle,String name) {
if (bundle == null) return null;
try {
return BundleCompat.getBinder(bundle,name);
} catch (Throwable t) {
// Catches un-parceling exceptions.
Log.e(TAG,"getBinder Failed on bundle " + bundle);
return null;
}
}
项目:chromium-for-android-56-debug-video
文件:IntentUtils.java
/**
* Inserts a {@link Binder} value into an Intent as an extra.
*
* Uses {@link BundleCompat#putBinder()},but doesn't throw exceptions.
*
* @param intent Intent to put the binder into.
* @param name Key.
* @param binder Binder object.
*/
@VisibleForTesting
public static void safePutBinderExtra(Intent intent,String name,IBinder binder) {
if (intent == null) return;
Bundle bundle = new Bundle();
try {
BundleCompat.putBinder(bundle,name,binder);
} catch (Throwable t) {
// Catches parceling exceptions.
Log.e(TAG,"putBinder Failed on bundle " + bundle);
}
intent.putExtras(bundle);
}
项目:PlusGram
文件:CustomTabsIntent.java
public Builder(@Nullable CustomTabsSession session) {
this.mIntent = new Intent("android.intent.action.VIEW");
this.mMenuItems = null;
this.mStartAnimationBundle = null;
this.mActionButtons = null;
if (session != null) {
this.mIntent.setPackage(session.getComponentName().getPackageName());
}
Bundle bundle = new Bundle();
BundleCompat.putBinder(bundle,session == null ? null : session.getBinder());
this.mIntent.putExtras(bundle);
}
项目:AndroidChromium
文件:IntentUtils.java
/**
* Just like {@link BundleCompat#getBinder()},"getBinder Failed on bundle " + bundle);
return null;
}
}
项目:AndroidChromium
文件:IntentUtils.java
/**
* Inserts a {@link Binder} value into an Intent as an extra.
*
* Uses {@link BundleCompat#putBinder()},"putBinder Failed on bundle " + bundle);
}
intent.putExtras(bundle);
}
项目:S1-Next
文件:IntentUtil.java
public static void putCustomTabsExtra(Intent intent) {
// enable Custom Tabs if supported
Bundle bundle = new Bundle();
BundleCompat.putBinder(bundle,EXTRA_CUSTOM_TABS_SESSION,null);
intent.putExtras(bundle);
intent.putExtra(EXTRA_ENABLE_URLBAR_HIDING,true);
}
项目:S1-Next
文件:IntentUtil.java
private static void putCustomTabsExtra(List<Intent> intentList) {
// enable Custom Tabs if supported
Bundle bundle = new Bundle();
BundleCompat.putBinder(bundle,null);
for (Intent intent : intentList) {
intent.putExtras(bundle);
intent.putExtra(EXTRA_ENABLE_URLBAR_HIDING,true);
}
}
/**
* Just like {@link BundleCompat#getBinder()},"getBinder Failed on bundle " + bundle);
return null;
}
}
/**
* Inserts a {@link Binder} value into an Intent as an extra.
*
* Uses {@link BundleCompat#putBinder()},"putBinder Failed on bundle " + bundle);
}
intent.putExtras(bundle);
}
项目:airgram
文件:CustomTabsSessionToken.java
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,"android.support.customtabs.extra.SESSION");
return binder == null ? null : new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:Lyra
文件:IBinderCoderTest.java
@Test
public void testSerializeIBinder() {
IBinder expectedValue = new Binder();
mCoder.serialize(bundle(),randomKey(),expectedValue);
assertEquals(expectedValue,BundleCompat.getBinder(bundle(),randomKey()));
}
项目:Lyra
文件:IBinderCoderTest.java
@Test
public void testDeserializeIBinder() {
IBinder expectedValue = new Binder();
BundleCompat.putBinder(bundle(),mCoder.deserialize(bundle(),randomKey()));
}
项目:PlusGram
文件:CustomTabsSessionToken.java
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,"android.support.customtabs.extra.SESSION");
return binder == null ? null : new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:chromium-for-android-56-debug-video
文件:CustomTabsSessionToken.java
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:chromium-for-android-56-debug-video
文件:CustomTabsIntent.java
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle,EXTRA_SESSION,session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
项目:AndroidChromium
文件:CustomTabsSessionToken.java
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:AndroidChromium
文件:CustomTabsIntent.java
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle,session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
项目:custom-tabs-client
文件:CustomTabsSessionToken.java
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:custom-tabs-client
文件:TrustedWebUtils.java
/**
* Launch the given {@link CustomTabsIntent} as a Trusted Web Activity. The given
* {@link CustomTabsIntent} should have a valid {@link CustomTabsSession} associated with it
* during construction. Once the Trusted Web Activity is launched,browser side implementations
* may have their own fallback behavior (e.g. Showing the page in a custom tab UI with toolbar)
* based on qualifications listed above or more.
*
* @param context {@link Context} to use while launching the {@link CustomTabsIntent}.
* @param customTabsIntent The {@link CustomTabsIntent} to use for launching the
* Trusted Web Activity. Note that all customizations in the given
* associated with browser toolbar controls will be ignored.
* @param uri The web page to launch as Trusted Web Activity.
*/
public static void launchAsTrustedWebActivity(@NonNull Context context,@NonNull CustomTabsIntent customTabsIntent,@NonNull Uri uri) {
if (BundleCompat.getBinder(
customTabsIntent.intent.getExtras(),CustomTabsIntent.EXTRA_SESSION) == null) {
throw new IllegalArgumentException(
"Given CustomTabsIntent should be associated with a valid CustomTabsSession");
}
customTabsIntent.intent.putExtra(EXTRA_LAUNCH_AS_TRUSTED_WEB_ACTIVITY,true);
customTabsIntent.launchUrl(context,uri);
}
项目:custom-tabs-client
文件:CustomTabsIntent.java
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle,session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle,session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
项目:anticipate
文件:CustomTabsSessionToken.java
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
*
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:anticipate
文件:CustomTabsIntent.java
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle,session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
项目:Telegram
文件:CustomTabsSessionToken.java
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b,CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
项目:Telegram
文件:CustomTabsIntent.java
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle,session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
项目:Lyra
文件:IBinderCoder.java
/**
* Write a field's value into the saved state {@link Bundle}.
*
* @param state {@link Bundle} used to save the state
* @param key key retrieved from {@code fieldDeclaringClass#fieldName}
* @param fieldValue value of field
*/
@Override
public void serialize(@NonNull Bundle state,@NonNull String key,@NonNull IBinder fieldValue) {
BundleCompat.putBinder(state,key,fieldValue);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。