private (Java_Object[], Java_Object) GetConstructorArgs(Context context) { if (Build.VERSION.SdkInt > BuildVersionCodes.P) { return(null, null); } if (_constructorArgsField == null) { _constructorArgsField = Java_Class.FromType(typeof(LayoutInflater)).GetDeclaredField("mConstructorArgs"); _constructorArgsField.Accessible = true; } var constructorArgs = (Java_Object[])_constructorArgsField.Get(this); Java_Object previousContext = null; if (constructorArgs != null) { previousContext = constructorArgs?[0]; constructorArgs[0] = context; _constructorArgsField.Set(this, constructorArgs); } return(constructorArgs, previousContext); }
ActivityDesc CreateActivityDesc(int titleId, int descriptionId, Java.Lang.Class activity) { ActivityDesc activityDesc = new ActivityDesc(); activityDesc.mTitle = GetString(titleId); activityDesc.mDescription = GetString(descriptionId); activityDesc.mActivity = activity; return(activityDesc); }
void GetFrontSizes() { CameraManager manager = (CameraManager)Context.GetSystemService(Context.CameraService); CameraCharacteristics characteristics = manager.GetCameraCharacteristics(frontCameraId); StreamConfigurationMap map = (StreamConfigurationMap)characteristics.Get(CameraCharacteristics.ScalerStreamConfigurationMap); frontCameraSizes = map.GetOutputSizes(Class.FromType(typeof(SurfaceTexture))); }
public void AddTab(TabHost.TabSpec tabSpec, Class clss, Bundle args) { tabSpec.SetContent(new DummyTabFactory(_context)); var tag = tabSpec.Tag; var info = new TabInfo(tag, clss, args); _tabs.Add(info); _tabHost.AddTab(tabSpec); NotifyDataSetChanged(); }
public virtual Banner SetBannerAnimation(Java.Lang.Class transformer) { try { SetPageTransformer(true, (IPageTransformer)transformer.NewInstance()); } catch (System.Exception e) { Log.Error(tag, "Please set the IPageTransformer class"); } return(this); }
private bool IsServiceRunning(Java.Lang.Class serviceClass) { ActivityManager manager = (ActivityManager)GetSystemService(Context.ActivityService); // foreach (RunningServiceInfo service in manager.GetRunningServices(int.MaxValue)) foreach (var item in manager.GetRunningServices(int.MaxValue)) { if (serviceClass.Name.Equals(item.Service.ClassName)) { return(true); } } return(false); }
public static void UpdateWidget(this Context context, Type MyAppWidgetProvider) { Java.Lang.Class WidgetProviderType = Java.Lang.Class.FromType(MyAppWidgetProvider); int[] ids = AppWidgetManager.GetInstance(context) .GetAppWidgetIds(new ComponentName(context, WidgetProviderType)); if (ids?.Length > 0) { Intent intent = new Intent(context, WidgetProviderType); intent.SetAction(AppWidgetManager.ActionAppwidgetUpdate); // Use an array and EXTRA_APPWIDGET_IDS instead of AppWidgetManager.EXTRA_APPWIDGET_ID, // since it seems the onUpdate() is only fired on that: intent.PutExtra(AppWidgetManager.ExtraAppwidgetIds, ids); context.SendBroadcast(intent); } }
private void SetPrivateFactory() { // LayoutInflater in Android versions greater than Honeycomb uses a private factory. // Make sure that our custom layout inflater uses our private factory. if (!_hasSetPrivateFactory && InterceptingService.PrivateFactoryInjection) { if (Context is IFactory2 factory2) { var setPrivateFactoryMethod = Java_Class.FromType(typeof(LayoutInflater)).GetMethod("setPrivateFactory", Java_Class.FromType(typeof(IFactory2))); setPrivateFactoryMethod.Accessible = true; setPrivateFactoryMethod.TryInvoke(this, new PrivateViewPumpFactory2(factory2, this)); } _hasSetPrivateFactory = true; } }
public TabInfo(string _tag, Class _class, Bundle _args) { tag = _tag; clss = _class; args = _args; }
public View OnCreateView(View parent, string name, Context context, IAttributeSet attrs) { System.Diagnostics.Debug.WriteLine (name); if (name.Equals("android.support.v7.internal.view.menu.ActionMenuItemView", StringComparison.InvariantCultureIgnoreCase)) { View view = null; try { if (ActionMenuItemViewClass == null) ActionMenuItemViewClass = ClassLoader.SystemClassLoader.LoadClass(name); } catch (ClassNotFoundException) { return null; } if (ActionMenuItemViewClass == null) return null; if (ActionMenuItemViewConstructor == null) { try { ActionMenuItemViewConstructor = ActionMenuItemViewClass.GetConstructor(new Class[] { Class.FromType(typeof(Context)), Class.FromType(typeof(IAttributeSet)) }); } catch (SecurityException) { return null; } catch (NoSuchMethodException) { return null; } } if (ActionMenuItemViewConstructor == null) return null; try { Java.Lang.Object[] args = new Java.Lang.Object[] { context, (Java.Lang.Object)attrs }; view = (View)(ActionMenuItemViewConstructor.NewInstance(args)); } catch (IllegalArgumentException) { return null; } catch (InstantiationException) { return null; } catch (IllegalAccessException) { return null; } catch (InvocationTargetException) { return null; } if (null == view) return null; View v = view; new Handler().Post(() => { try { if(v is LinearLayout) { var ll = (LinearLayout)v; for(int i = 0; i < ll.ChildCount; i++) { var button = ll.GetChildAt(i) as Button; if(button != null) { var title = button.Text; if (!string.IsNullOrEmpty(title) && title.Length == 1) { button.SetTypeface(Typeface, TypefaceStyle.Normal); } } } } else if(v is TextView) { var tv = (TextView)v; string title = tv.Text; if (!string.IsNullOrEmpty(title) && title.Length == 1) { tv.SetTypeface(Typeface, TypefaceStyle.Normal); } } } catch (ClassCastException) { } }); return view; } return null; }
private static View CreateView(LayoutInflater.IFactory2 factory2, View parent, string name, Context context, IAttributeSet attrs, ref Class @class) { if (factory2 == null) return null; if (name.IndexOf(".", StringComparison.Ordinal) < 0) { if (@class == null) @class = GetClass(name); if (@class != null) { var view = factory2.OnCreateView(parent, @class.Name, context, attrs); if (view != null) return view; } } return factory2.OnCreateView(parent, name, context, attrs); }
private static Field TryGetField(string fieldName, Class clazz) { try { var field = clazz.GetDeclaredField(fieldName); field.Accessible = true; return field; } catch (Exception e) { Tracer.Error(e.Flatten(true)); return null; } }
private View CreateCustomToolbarItem(string name, Context context, IAttributeSet attrs) { // android.support.v7.widget.Toolbar // android.support.v7.view.menu.ActionMenuItemView View view = null; try { if (ActionMenuItemViewClass == null) ActionMenuItemViewClass = ClassLoader.LoadClass(name); } catch (ClassNotFoundException ex) { return null; } if (ActionMenuItemViewClass == null) return null; if (ActionMenuItemViewConstructor == null) { try { ActionMenuItemViewConstructor = ActionMenuItemViewClass.GetConstructor(new Class[] { Class.FromType(typeof(Context)), Class.FromType(typeof(IAttributeSet)) }); } catch (SecurityException) { return null; } catch (NoSuchMethodException) { return null; } } if (ActionMenuItemViewConstructor == null) return null; try { Java.Lang.Object[] args = new Java.Lang.Object[] { context, (Java.Lang.Object)attrs }; view = (View)(ActionMenuItemViewConstructor.NewInstance(args)); } catch (IllegalArgumentException) { return null; } catch (InstantiationException) { return null; } catch (IllegalAccessException) { return null; } catch (InvocationTargetException) { return null; } if (null == view) return null; View v = view; new Handler().Post(() => { try { if (v is LinearLayout) { var ll = (LinearLayout)v; for (int i = 0; i < ll.ChildCount; i++) { var button = ll.GetChildAt(i) as Button; if (button != null) { var title = button.Text; if (!string.IsNullOrEmpty(title) && title.Length == 1) { button.SetTypeface(Typeface, TypefaceStyle.Normal); } } } } else if (v is TextView) { var tv = (TextView)v; string title = tv.Text; if (!string.IsNullOrEmpty(title) && title.Length == 1) { tv.SetTypeface(Typeface, TypefaceStyle.Normal); } } } catch (ClassCastException) { } }); return view; }
public TabInfo(string tag, Class _class, Bundle args) { Tag = tag; Class = _class; Args = args; }
public static void TrackAppException(Class activity, String method, Exception exception, Boolean isFatalException) { TrackAppException(activity.SimpleName, method, exception, isFatalException); }
public void AddTab(TabHost.TabSpec tabSpec, Class clss, Bundle args) { tabSpec.SetContent(new DummyTabFactory(_activity)); var tag = tabSpec.Tag; var info = new TabInfo(tag, clss, args); // Check to see if we already have a fragment for this tab, probably // from a previously saved state. If so, deactivate it, because our // initial state is that a tab isn't shown. info.fragment = _activity.SupportFragmentManager.FindFragmentByTag(tag); if (info.fragment != null && !info.fragment.IsDetached) { var ft = _activity.SupportFragmentManager.BeginTransaction(); ft.Detach(info.fragment); ft.Commit(); } _tabs.Add(tag, info); _tabHost.AddTab(tabSpec); }
public View OnCreateView(string name, Context context, IAttributeSet attrs) { if (name.Equals("com.android.internal.view.menu.ActionMenuItemView", StringComparison.InvariantCultureIgnoreCase)) { View view = null; try { if (ActionMenuItemViewClass == null) ActionMenuItemViewClass = ClassLoader.SystemClassLoader.LoadClass(name); } catch (ClassNotFoundException) { return null; } if (ActionMenuItemViewClass == null) return null; if (ActionMenuItemViewConstructor == null) { try { ActionMenuItemViewConstructor = ActionMenuItemViewClass.GetConstructor(new Class[] { Class.FromType(typeof(Context)), Class.FromType(typeof(IAttributeSet)) }); } catch (SecurityException) { return null; } catch (NoSuchMethodException) { return null; } } if (ActionMenuItemViewConstructor == null) return null; try { Java.Lang.Object[] args = new Java.Lang.Object[] { context, (Java.Lang.Object)attrs }; view = (View)(ActionMenuItemViewConstructor.NewInstance(args)); } catch (IllegalArgumentException) { return null; } catch (InstantiationException) { return null; } catch (IllegalAccessException) { return null; } catch (InvocationTargetException) { return null; } if (null == view) return null; View v = view; new Handler().Post(() => { try { var tv = (TextView)v; string title = tv.Text; if (!string.IsNullOrEmpty(title) && title.Length == 1) { tv.SetTypeface(Typeface, TypefaceStyle.Normal); } } catch (ClassCastException) { } }); return view; } return null; }
private async Task<string> GetAdvertisingId() { string id = string.Empty; try { Class localClass = Class.ForName("com.google.android.gms.ads.identifier.AdvertisingIdClient"); Class[] arrayOfClass; (arrayOfClass = new Class[1])[0] = Java.Lang.Class.FromType(typeof(Context)); Method getAdvertisingIdInfo = localClass.GetMethod("getAdvertisingIdInfo", arrayOfClass); Class adInfoClass = Class.ForName("com.google.android.gms.ads.identifier.AdvertisingIdClient$Info"); Method getId = null; Object adInfo = null; var task = Task.Factory.StartNew(() => { adInfo = getAdvertisingIdInfo.Invoke(localClass, new Object[] { this }); getId = adInfoClass.GetMethod("getId", new Class[0]); id = (string)getId.Invoke(adInfo, new Object[0]); }); await task; if (task.Exception != null) Log.Debug(TAG, "Failed to obtain Google AdvertisingId"); } catch (System.Exception) { Log.Debug(TAG, "Failed to obtain Google AdvertisingId"); } return id; }