smstuebe / xamarin-fingerprint Goto Github PK
View Code? Open in Web Editor NEWXamarin and MvvMCross plugin for authenticate a user via fingerprint sensor
License: Microsoft Public License
Xamarin and MvvMCross plugin for authenticate a user via fingerprint sensor
License: Microsoft Public License
Provide install instruction if needed via readme.txt.
Add the plugin to a non .net-standard project (PCL).
Try to compile.
It should compile.
It errors with the following:
/Library/Frameworks/Mono.framework/Versions/4.8.0/lib/mono/4.5/Microsoft.Common.targets(3,3): Warning MSB3274: The primary reference "Plugin.Fingerprint.Abstractions" could not be resolved because it was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile78". (MSB3274) (Mobile.Core)
If something causes an exception paste full stack trace + Exception here
Version of the Plugin: 1.4.2
Platform: Xamarin Studio 6.3
Device: Mac
First, this is awesome!
Just reading through at a high level the implementation and code could I recommend some of the following:
The other things that would be nice if just naming convention to match what I am trying to have everyone standardize on to make it really easy for devs to get running:
He complains
asdfsadf
None of the other plugins have this dependency. i don't want to add this dependency when i am using PCL or Shared project.
He complains
Recently we were trying to implement app level fingerprint authentication through PCL. We used Plugin.Fingerprint nuget package and referenced it. The sample which was downloaded from the Git works but once we implement it with our PCL it just returns 'false' where it detects the fingerprint sensor when its available and works with sample application.
While comparing the two projects we found that there is one change in the Android Project’s MainActivity Our Project: public class MainActivity : FormsAppCompatActivity {
Working Sample App: xamarin-fingerprint-master
public class MainActivity : FormsApplicationActivity {
When I do this code change in my application code, the 'object reference not found error' is displayed during load application operation. What is the difference between these code and how should we handle it to make fingerprint sensor work through our mobile app. Is this the problem or whether there is something else we are missing here ?
It will be a great help is you could help us on this. If you have a different sample using another plugin, it would also help us greatly. All we need is to implement this mostly through PCL.
Version of the Plugin: 1.3.0.0
Visual Studio 2013
The plugin Reference seems to be missing. When I compile I get this error:
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3274: The primary reference "Plugin.Fingerprint, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL" could not be resolved because it was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile78".
Have you seen this error and is there a resolution?
Seeing these after grabbing 1.3.0-beta5
[MonoDroid] UNHANDLED EXCEPTION:
[MonoDroid] System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown.
[MonoDroid] Parameter name: status
[MonoDroid] Actual value was TooManyAttempts.
[MonoDroid] at Plugin.Fingerprint.Dialog.FingerprintDialogFragment+d__28.MoveNext () [0x001a2] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Dialog\FingerprintDialogFragment.cs:206
Open an app with fingerprint integrated.
When you see the fingerprint dialog, tap 2 or 3 time in the "Cancel" button or tap twice in the "Use Fallback" button.
The app will crash.
The app should not crash.
The app Crash.
System.InvalidOperationException: An attempt was made to transition a task to a final state when it had already completed.
at System.Threading.Tasks.TaskCompletionSource`1[TResult].SetResult (TResult result) [0x0000c] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskCompletionSource.cs:322
at Plugin.Fingerprint.Dialog.FingerprintDialogFragment+d__20.MoveNext () [0x00082] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Dialog\FingerprintDialogFragment.cs:127
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.m__0 (System.Object state) [0x00000] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018
at Android.App.SyncContext+c__AnonStorey0.<>m__0 () [0x00000] in /Users/builder/data/lanes/3511/501e63ce/source/xamarin-android/src/Mono.Android/Android.App/SyncContext.cs:18
at Java.Lang.Thread+RunnableImplementor.Run () [0x0000b] in /Users/builder/data/lanes/3511/501e63ce/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in /Users/builder/data/lanes/3511/501e63ce/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Java.Lang.IRunnable.cs:81
at at (wrapper dynamic-method) System.Object:3507f35d-d544-499c-814c-5b8a75e1249c (intptr,intptr)
Version of the Plugin: 1.4.1
Platform: Android 6.0.1
Device: Samsung Galaxy S6
Since I updated to version 1.4.1 I get the following build error only in release mode: Tool Exited with code: 1. Output: ProGuard, version 5.3.2
Everthing works fine in debug.
Does this sound familiar to anybody?
Update to xamarin-fingerprint 1.4.1
Build Release
no build errors
build error only in release mode: Tool Exited with code: 1. Output: ProGuard, version 5.3.2
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Tool exited with code: 1. Output: ProGuard, version 5.3.2
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.AppIndex'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appdatasearch.GetRecentContextCall'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appdatasearch.zzk'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.AppIndexApi$ActionResult'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.AppIndexApi'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.appindexing.Thing'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.search.SearchAuthApi$GoogleNowAuthResult'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.search.SearchAuthApi'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.search.SearchAuth'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.CardViewDelegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RoundRectDrawableWithShadow$RoundRectHelper'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.DefaultItemAnimator$ChangeInfo'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.DefaultItemAnimator$MoveInfo'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.helper.ItemTouchUIUtil'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.helper.ItemTouchHelper$ItemTouchHelperGestureListener'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.helper.ItemTouchHelper$ViewDropHandler'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$AdapterDataObserver'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ItemAnimator$AdapterChanges'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ItemAnimator$ItemAnimatorFinishedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_ItemAnimator_ItemAnimatorFinishedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ItemDecoration'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$OnChildAttachStateChangeListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_OnChildAttachStateChangeListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$OnItemTouchListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_OnItemTouchListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$OnScrollListener'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$RecyclerListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.RecyclerView_RecyclerListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$RecyclerViewDataObserver'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$SavedState'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.RecyclerView$ViewHolder'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.StaggeredGridLayoutManager$AnchorInfo'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.StaggeredGridLayoutManager$LazySpanLookup'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.CrashManagerListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.FeedbackManagerListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.FeedbackActivityInterface'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.UpdateActivityInterface'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.UpdateInfoListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.StringListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.UpdateManagerListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.listeners.DownloadFileListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.listeners.SendFeedbackListener'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.ConnectionManager$ConnectionManagerHolder'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.DeviceUtils$DeviceUtilsHolder'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.FeedbackParser$FeedbackParserHolder'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.PrefsUtil$PrefsUtilHolder'
Note: the configuration doesn't specify which class members to keep for class 'net.hockeyapp.android.utils.UiThreadUtil$WbUtilHolder'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.AdListener'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.doubleclick.AppEventListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.doubleclick.AppEventListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.doubleclick.CustomRenderedAd'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeCustomTemplateAd$OnCustomClickListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeCustomTemplateAd_OnCustomClickListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeCustomTemplateAd$OnCustomTemplateAdLoadedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeCustomTemplateAd_OnCustomTemplateAdLoadedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeCustomTemplateAd'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeAd'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeAdView'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeAppInstallAd$OnAppInstallAdLoadedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeAppInstallAd_OnAppInstallAdLoadedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.formats.NativeContentAd$OnContentAdLoadedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.formats.NativeContentAd_OnContentAdLoadedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEvent'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventBanner'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventBannerListener'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitial'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitialListener'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.customevent.CustomEventListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventNative'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.customevent.CustomEventNativeListener'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationBannerAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationBannerListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.MediationBannerListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationInterstitialAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationInterstitialListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.MediationInterstitialListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationNativeAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.MediationNativeListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.mediation.MediationNativeListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeMediationAdRequest'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NetworkExtras'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeAdMapper'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeAppInstallAdMapper'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.mediation.NativeContentAdMapper'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchase'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchase'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchaseListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.purchase.InAppPurchaseListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.InAppPurchaseResult'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.purchase.PlayStorePurchaseListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.purchase.PlayStorePurchaseListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.RewardItem'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.RewardedVideoAd'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.RewardedVideoAdListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.reward.RewardedVideoAdListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.AdRequest'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.AbstractAdViewAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEvent'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventBanner'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventBannerListener'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventInterstitial'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventInterstitialListener'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.customevent.CustomEventListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.ads.mediation.customevent.CustomEventListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationBannerAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationBannerListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.ads.mediation.MediationBannerListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationInterstitialAdapter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationInterstitialListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.ads.mediation.MediationInterstitialListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.NetworkExtras'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationServerParameters$Parameter'
Note: the configuration doesn't specify which class members to keep for class 'com.google.ads.mediation.MediationServerParameters'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxExpandableListView'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxFrameControl'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxDatePicker'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxGridView'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxAutoCompleteTextView'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxRadioGroup'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxSpinner'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxLinearLayout'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxListItemView'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxListView'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxImageView'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxTimePicker'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxRelativeLayout'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxFrameLayout'
Note: the configuration doesn't specify which class members to keep for class 'cirrious.mvvmcross.binding.droid.views.MvxTableLayout'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompat$Action$Extender'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompat$Extender'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompat$Style'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$Decor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$ItemInfo'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$MyAccessibilityDelegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$OnPageChangeListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPager_OnPageChangeListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$PageTransformer'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$PagerObserver'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentActivity$NonConfigurationInstances'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.NestedScrollView$AccessibilityDelegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.NestedScrollView$OnScrollChangeListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.NestedScrollView_OnScrollChangeListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.SwipeRefreshLayout_OnRefreshListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.AnimatorCompatHelper'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.AnimatorListenerCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.AnimatorUpdateListenerCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.animation.ValueAnimatorCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActionBarDrawerToggle$Delegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActionBarDrawerToggle$DelegateProvider'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityCompat$OnRequestPermissionsResultCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityOptionsCompat$ActivityOptionsImpl21'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ActivityOptionsCompat$ActivityOptionsImplJB'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$BackStackEntry'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentManager$OnBackStackChangedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.app.FragmentManager_OnBackStackChangedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentTabHost$SavedState'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.FragmentTabHost$TabInfo'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationBuilderWithBuilderAccessor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.INotificationSideChannel'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.LoaderManager$LoaderCallbacks'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatBase$Action$Factory'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatBase$UnreadConversation$Factory'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatBase$UnreadConversation'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationCompatExtras'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.NotificationManagerCompat$Task'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.RemoteInputCompatBase$RemoteInput$Factory'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.RemoteInputCompatBase'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.ServiceCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.SharedElementCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.app.TaskStackBuilder$SupportParentable'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.FileProvider$PathStrategy'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.Loader$OnLoadCanceledListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.content.Loader_OnLoadCanceledListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.Loader$OnLoadCompleteListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.content.Loader_OnLoadCompleteListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.LocalBroadcastManager$BroadcastRecord'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.LocalBroadcastManager$ReceiverRecord'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.ModernAsyncTask$AsyncTaskResult'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.pm.ActivityInfoCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.PermissionChecker$PermissionResult'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.content.SharedPreferencesCompat$EditorCompat$Helper'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.graphics.drawable.DrawableWrapper'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory$DefaultRoundedBitmapDrawable'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.IMediaBrowserServiceCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.IMediaBrowserServiceCompatCallbacks'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$ItemCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$MediaBrowserImplBase$Subscription'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$MediaItem$Flags'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserCompat$SubscriptionCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaBrowserServiceCompat$ConnectionRecord'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$BitmapKey'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$LongKey'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$RatingKey'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.MediaMetadataCompat$TextKey'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.RatingCompat$StarStyle'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.RatingCompat$Style'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.IMediaControllerCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.IMediaSession'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaControllerCompat$Callback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaSessionCompat$Callback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaSessionCompat$OnActiveChangeListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.media.session.MediaSessionCompat_OnActiveChangeListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.MediaSessionCompat$SessionFlags'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.PlaybackStateCompat$Actions'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.session.PlaybackStateCompat$State'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.VolumeProviderCompat$ControlType'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.media.VolumeProviderCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.net.TrafficStatsCompat$BaseTrafficStatsCompatImpl$SocketTags'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.os.CancellationSignal$OnCancelListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.os.CancellationSignal_OnCancelListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.os.ParcelableCompatCreatorCallbacks'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.os.IResultReceiver'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.print.PrintHelper$OnPrintFinishCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.text.BidiFormatter$DirectionalityEstimator'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.text.TextDirectionHeuristicCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.text.TextDirectionHeuristicsCompat$TextDirectionAlgorithm'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.util.Pools$Pool'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.util.Pools'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ActionProvider$SubUiVisibilityListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ActionProvider_SubUiVisibilityListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ActionProvider$VisibilityListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ActionProvider_VisibilityListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.animation.LookupTableInterpolator'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.GestureDetectorCompat$GestureDetectorCompatImplBase$GestureHandler'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.LayoutInflaterFactory'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.NestedScrollingChild'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.NestedScrollingParent'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.OnApplyWindowInsetsListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.OnApplyWindowInsetsListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ScrollingView'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.TintableBackgroundView'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPropertyAnimatorListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPropertyAnimatorListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPropertyAnimatorUpdateListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPropertyAnimatorUpdateListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.MenuItemCompat$OnActionExpandListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.MenuItemCompat_OnActionExpandListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewCompat$ScrollIndicators'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.CursorAdapter$MyDataSetObserver'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$AccessibilityDelegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$ChildAccessibilityDelegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$DrawerListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.DrawerLayout_DrawerListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$SimpleDrawerListener'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.TintableCompoundButton'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SearchViewCompat$OnCloseListenerCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SearchViewCompat$OnQueryTextListenerCompat'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SimpleCursorAdapter$CursorToStringConverter'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SimpleCursorAdapter$ViewBinder'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SlidingPaneLayout$PanelSlideListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.SlidingPaneLayout_PanelSlideListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SlidingPaneLayout$SavedState'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.ItemListIntents'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.NoteIntents'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.ReserveIntents'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.actions.SearchIntents'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.DataBuffer'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.DataBufferObserver$Observable'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.DataBufferObserver'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.Freezable'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.zzc'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.data.zzf'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.images.ImageManager$OnImageLoadedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.common.images.ImageManager_OnImageLoadedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$ConnectionCallbacks'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$ConnectionCallbacks'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$OnConnectionFailedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.common.api.GoogleApiClient_OnConnectionFailedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.GoogleApiClient$ServerAuthCodeCallbacks'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.Auth$AuthCredentialsOptions'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.Auth'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.credentials.CredentialRequestResult'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.credentials.CredentialsApi'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.credentials.CredentialsApi'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.proxy.ProxyApi$ProxyResult'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.auth.api.proxy.ProxyApi'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.annotation.KeepName'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$HasOptions'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$NoOptions'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$NotRequiredOptions'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions$Optional'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Api$ApiOptions'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.BatchResultToken'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Releasable'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.Result'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.api.ResultCallback'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.internal.safeparcel.SafeParcelable'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.internal.safeparcel.SafeParcelable'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.Scopes'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.common.server.response.FastJsonResponse'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.dynamic.LifecycleDelegate'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.security.ProviderInstaller$ProviderInstallListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.security.ProviderInstaller_ProviderInstallListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'DallinEvans.MvvmCross.Droid.MvxRecyclerView'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.gcm.GcmListenerService'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.gcm.Task'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$DoubleClickListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.daimajia.swipe.SwipeLayout_DoubleClickListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$OnLayout'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$OnRevealListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.daimajia.swipe.SwipeLayout_OnRevealListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$SwipeDenier'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.SwipeLayout$SwipeListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.daimajia.swipe.SwipeLayout_SwipeListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.interfaces.SwipeAdapterInterface'
Note: the configuration doesn't specify which class members to keep for class 'com.daimajia.swipe.interfaces.SwipeItemMangerInterface'
Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Authenticator'
Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Callback'
Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Interceptor$Chain'
Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Interceptor'
Note: the configuration doesn't specify which class members to keep for class 'okio.ForwardingSink'
Note: the configuration doesn't specify which class members to keep for class 'okio.ForwardingSource'
Note: the configuration doesn't specify which class members to keep for class 'okio.BufferedSink'
Note: the configuration doesn't specify which class members to keep for class 'okio.BufferedSource'
Note: the configuration doesn't specify which class members to keep for class 'okio.Sink'
Note: the configuration doesn't specify which class members to keep for class 'okio.Source'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.analytics.ExceptionParser'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.analytics.Logger'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.Container$FunctionCallMacroCallback'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.Container$FunctionCallTagCallback'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.ContainerHolder$ContainerAvailableListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.google.android.gms.tagmanager.ContainerHolder_ContainerAvailableListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.google.android.gms.tagmanager.ContainerHolder'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.Toolbar$OnMenuItemClickListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.Toolbar_OnMenuItemClickListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$DisplayOptions'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$NavigationMode'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$OnMenuVisibilityListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_OnMenuVisibilityListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$OnNavigationListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_OnNavigationListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBar$TabListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.app.ActionBar_TabListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$Delegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$DelegateProvider'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.ActionBarDrawerToggle$DrawerToggle'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.app.AppCompatCallback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.graphics.drawable.DrawerArrowDrawable$ArrowDirection'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.ActionMode$Callback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.CollapsibleActionView'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.BaseMenuPresenter'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuView'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuBuilder$Callback'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.view.menu.MenuWrapperFactory'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ActionMenuView$ActionMenuChildView'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ActionMenuView$OnMenuItemClickListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ActionMenuView_OnMenuItemClickListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.AppCompatDrawableManager$InflateDelegate'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ContentFrameLayout$OnAttachListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ContentFrameLayout_OnAttachListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.FitWindowsViewGroup_OnFitSystemWindowsListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.FitWindowsViewGroup'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ThemedSpinnerAdapter'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.LinearLayoutCompat$DividerMode'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.LinearLayoutCompat$OrientationMode'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ListPopupWindow$PopupDataSetObserver'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.PopupMenu$OnDismissListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.PopupMenu_OnDismissListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.PopupMenu$OnMenuItemClickListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.PopupMenu_OnMenuItemClickListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$AutoCompleteTextViewReflector'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$OnCloseListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.SearchView_OnCloseListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$OnQueryTextListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.SearchView_OnQueryTextListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SearchView$OnSuggestionListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.SearchView_OnSuggestionListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ShareActionProvider$OnShareTargetSelectedListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ShareActionProvider_OnShareTargetSelectedListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ShareActionProvider$ShareActivityChooserModelPolicy'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.SwitchCompat$ThumbAnimation'
Note: the configuration doesn't specify which class members to keep for class 'android.support.v7.widget.ViewStubCompat$OnInflateListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v7.widget.ViewStubCompat_OnInflateListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.samsung.android.sdk.pass.SpassFingerprint$IdentifyListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.samsung.android.sdk.pass.SpassFingerprint_IdentifyListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.samsung.android.sdk.pass.SpassFingerprint$RegisterListener'
Note: the configuration doesn't specify which class members to keep for class 'mono.com.samsung.android.sdk.pass.SpassFingerprint_RegisterListenerImplementor'
Note: the configuration doesn't specify which class members to keep for class 'com.samsung.android.sdk.pass.support.IFingerprintManagerProxy'
Note: there were 423 '-keepclassmembers' options that didn't specify class
members. You should specify at least some class members or consider
if you just need '-keep'.
(http://proguard.sourceforge.net/manual/troubleshooting.html#classmembers)
Reading input...
Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/proguard/proguard_input.jar]
Reading program jar [/Library/Frameworks/Xamarin.Android.framework/Versions/7.0.2-42/lib/xbuild-frameworks/MonoAndroid/v7.0/mono.android.jar]
Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/AndroidSwipeLayout/library_project_imports/bin/classes.jar]
Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/HockeyApp.Android/library_project_imports/HockeyApp.Android.Jars.HockeySDK-3.0.2.jar]
Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/OkHttp/library_project_imports/okhttp-2.3.0-jar-with-dependencies.jar]
Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/Plugin.Fingerprint.Android.Samsung/library_project_imports/__reference__pass-v1.2.0.jar]
Reading program jar [/Users/nielscup/Documents/SVN/CoreApp/Droid/obj/RNL-Release/library_projects/Plugin.Fingerprint.Android.Samsung/library_project_imports/__reference__sdk-v1.0.0.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Basement/8.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.AppIndexing/8.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Ads/8.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Analytics/8.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v4/23.1.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v4/23.1.1.0/embedded/libs/internal_impl-23.1.1.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v7.AppCompat/23.1.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v7.CardView/23.1.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.Android.Support.v7.RecyclerView/23.1.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Base/8.1.0/embedded/classes.jar]
Reading program jar [/Users/nielscup/.local/share/Xamarin/Xamarin.GooglePlayServices.Gcm/8.1.0/embedded/classes.jar]
Reading library jar [/Users/nielscup/Library/Developer/Xamarin/android-sdk-macosx/platforms/android-25/android.jar]
Initializing...
Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService'
Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService'
Note: the configuration refers to the unknown class 'android.support.annotation.Keep'
Note: the configuration refers to the unknown class 'android.support.annotation.Keep'
Note: the configuration refers to the unknown class 'android.support.annotation.Keep'
Note: the configuration refers to the unknown class 'android.support.annotation.Keep'
Note: the configuration refers to the unknown class 'android.support.annotation.Keep'
Note: the configuration refers to the unknown class 'Object'
Maybe you meant the fully qualified name 'java.lang.Object'?
Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType'
Note: com.google.android.gms.internal.zzsf calls 'Field.getType'
Note: com.samsung.android.sdk.pass.support.SdkSupporter calls 'Field.getType'
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find superclass or interface com.samsung.android.fingerprint.IFingerprintClient$Stub
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find superclass or interface com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener
Warning: com.samsung.android.sdk.pass.b: can't find superclass or interface com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintManager
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient
Warning: com.samsung.android.sdk.pass.SpassFingerprint: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient$Stub
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient$Stub
Warning: com.samsung.android.sdk.pass.SpassFingerprint$b: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.SpassFingerprint$c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.b: can't find referenced class com.samsung.android.fingerprint.FingerprintManager
Warning: com.samsung.android.sdk.pass.b: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener
Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.c: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.d: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.e: can't find referenced class com.samsung.android.fingerprint.FingerprintEvent
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintManager
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintIdentifyDialog$FingerprintListener
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.FingerprintManager$EnrollFinishListener
Warning: com.samsung.android.sdk.pass.support.IFingerprintManagerProxy: can't find referenced class com.samsung.android.fingerprint.IFingerprintClient
Note: android.support.v4.text.ICUCompatApi23: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v7.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets
Note: com.samsung.android.sdk.pass.SpassFingerprint: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager
Note: com.samsung.android.sdk.pass.SpassFingerprint: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager
Note: com.samsung.android.sdk.pass.SpassFingerprint: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager
Note: com.samsung.android.sdk.pass.support.v1.FingerprintManagerProxyFactory: can't find dynamically referenced class com.samsung.android.fingerprint.FingerprintManager
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.OpenSSLSocketImpl
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically
Maybe this is program field 'android.support.v4.R$attr { int icon; }'
Maybe this is program field 'android.support.v4.R$drawable { int icon; }'
Maybe this is program field 'android.support.v4.R$id { int icon; }'
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$attr { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$drawable { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$id { int icon; }'
Maybe this is program field 'android.support.v7.cardview.R$attr { int icon; }'
Maybe this is program field 'android.support.v7.cardview.R$drawable { int icon; }'
Maybe this is program field 'android.support.v7.cardview.R$id { int icon; }'
Maybe this is program field 'android.support.v7.recyclerview.R$attr { int icon; }'
Maybe this is program field 'android.support.v7.recyclerview.R$drawable { int icon; }'
Maybe this is program field 'android.support.v7.recyclerview.R$id { int icon; }'
Maybe this is program field 'com.daimajia.swipe.R$attr { int icon; }'
Maybe this is program field 'com.daimajia.swipe.R$drawable { int icon; }'
Maybe this is program field 'com.daimajia.swipe.R$id { int icon; }'
Maybe this is program field 'com.google.android.gms.R$attr { int icon; }'
Maybe this is program field 'com.google.android.gms.R$drawable { int icon; }'
Maybe this is program field 'com.google.android.gms.R$id { int icon; }'
Maybe this is program field 'com.google.android.gms.ads.R$attr { int icon; }'
Maybe this is program field 'com.google.android.gms.ads.R$drawable { int icon; }'
Maybe this is program field 'com.google.android.gms.ads.R$id { int icon; }'
Maybe this is program field 'com.google.android.gms.analytics.R$attr { int icon; }'
Maybe this is program field 'com.google.android.gms.analytics.R$drawable { int icon; }'
Maybe this is program field 'com.google.android.gms.analytics.R$id { int icon; }'
Maybe this is program field 'com.google.android.gms.appindexing.R$attr { int icon; }'
Maybe this is program field 'com.google.android.gms.appindexing.R$drawable { int icon; }'
Maybe this is program field 'com.google.android.gms.appindexing.R$id { int icon; }'
Maybe this is program field 'com.google.android.gms.base.R$attr { int icon; }'
Maybe this is program field 'com.google.android.gms.base.R$drawable { int icon; }'
Maybe this is program field 'com.google.android.gms.base.R$id { int icon; }'
Maybe this is program field 'com.google.android.gms.gcm.R$attr { int icon; }'
Maybe this is program field 'com.google.android.gms.gcm.R$drawable { int icon; }'
Maybe this is program field 'com.google.android.gms.gcm.R$id { int icon; }'
Maybe this is library field 'android.R$attr { int icon; }'
Maybe this is library field 'android.R$id { int icon; }'
Maybe this is library field 'android.app.LauncherActivity$ListItem { android.graphics.drawable.Drawable icon; }'
Maybe this is library field 'android.app.Notification { int icon; }'
Maybe this is library field 'android.app.Notification$Action { int icon; }'
Maybe this is library field 'android.appwidget.AppWidgetProviderInfo { int icon; }'
Maybe this is library field 'android.content.pm.PackageItemInfo { int icon; }'
Maybe this is library field 'android.content.pm.ResolveInfo { int icon; }'
Maybe this is library field 'android.inputmethodservice.Keyboard$Key { android.graphics.drawable.Drawable icon; }'
Maybe this is library field 'android.service.notification.Condition { int icon; }'
Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { int icon; }'
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'title' dynamically
Maybe this is program field 'android.support.v4.R$attr { int title; }'
Maybe this is program field 'android.support.v4.R$id { int title; }'
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence title; }'
Maybe this is program field 'android.support.v7.appcompat.R$attr { int title; }'
Maybe this is program field 'android.support.v7.appcompat.R$id { int title; }'
Maybe this is program field 'android.support.v7.cardview.R$attr { int title; }'
Maybe this is program field 'android.support.v7.cardview.R$id { int title; }'
Maybe this is program field 'android.support.v7.recyclerview.R$attr { int title; }'
Maybe this is program field 'android.support.v7.recyclerview.R$id { int title; }'
Maybe this is program field 'com.daimajia.swipe.R$attr { int title; }'
Maybe this is program field 'com.daimajia.swipe.R$id { int title; }'
Maybe this is program field 'com.google.android.gms.R$attr { int title; }'
Maybe this is program field 'com.google.android.gms.R$id { int title; }'
Maybe this is program field 'com.google.android.gms.ads.R$attr { int title; }'
Maybe this is program field 'com.google.android.gms.ads.R$id { int title; }'
Maybe this is program field 'com.google.android.gms.analytics.R$attr { int title; }'
Maybe this is program field 'com.google.android.gms.analytics.R$id { int title; }'
Maybe this is program field 'com.google.android.gms.appindexing.R$attr { int title; }'
Maybe this is program field 'com.google.android.gms.appindexing.R$id { int title; }'
Maybe this is program field 'com.google.android.gms.base.R$attr { int title; }'
Maybe this is program field 'com.google.android.gms.base.R$id { int title; }'
Maybe this is program field 'com.google.android.gms.gcm.R$attr { int title; }'
Maybe this is program field 'com.google.android.gms.gcm.R$id { int title; }'
Maybe this is library field 'android.R$attr { int title; }'
Maybe this is library field 'android.R$id { int title; }'
Maybe this is library field 'android.app.Notification$Action { java.lang.CharSequence title; }'
Maybe this is library field 'android.preference.PreferenceActivity$Header { java.lang.CharSequence title; }'
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'actionIntent' dynamically
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { android.app.PendingIntent actionIntent; }'
Maybe this is library field 'android.app.Notification$Action { android.app.PendingIntent actionIntent; }'
Note: com.daimajia.swipe.SwipeLayout accesses a field 'gravity' dynamically
Maybe this is program field 'android.support.v4.view.ViewPager$LayoutParams { int gravity; }'
Maybe this is program field 'android.support.v4.widget.DrawerLayout$LayoutParams { int gravity; }'
Maybe this is program field 'android.support.v7.app.ActionBar$LayoutParams { int gravity; }'
Maybe this is program field 'android.support.v7.app.AppCompatDelegateImplV7$PanelFeatureState { int gravity; }'
Maybe this is program field 'android.support.v7.widget.LinearLayoutCompat$LayoutParams { int gravity; }'
Maybe this is library field 'android.R$attr { int gravity; }'
Maybe this is library field 'android.app.ActionBar$LayoutParams { int gravity; }'
Maybe this is library field 'android.content.pm.ActivityInfo$WindowLayout { int gravity; }'
Maybe this is library field 'android.view.WindowManager$LayoutParams { int gravity; }'
Maybe this is library field 'android.widget.FrameLayout$LayoutParams { int gravity; }'
Maybe this is library field 'android.widget.LinearLayout$LayoutParams { int gravity; }'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdLoader$Builder { AdLoader$Builder(android.content.Context,com.google.android.gms.ads.internal.client.zzq); }', but not the descriptor class 'com.google.android.gms.ads.internal.client.zzq'
Note: the configuration keeps the entry point 'com.google.android.gms.appdatasearch.UsageInfo { UsageInfo(com.google.android.gms.appdatasearch.DocumentId,long,int,java.lang.String,com.google.android.gms.appdatasearch.DocumentContents,boolean,int,int,com.google.android.gms.appdatasearch.UsageInfo$1); }', but not the descriptor class 'com.google.android.gms.appdatasearch.UsageInfo$1'
Note: the configuration keeps the entry point 'com.google.android.gms.common.data.DataHolder { DataHolder(com.google.android.gms.common.data.DataHolder$zza,int,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.common.data.DataHolder$zza'
Note: the configuration keeps the entry point 'com.google.android.gms.iid.InstanceIDListenerService { void zza(android.content.Context,com.google.android.gms.iid.zzd); }', but not the descriptor class 'com.google.android.gms.iid.zzd'
Note: the configuration keeps the entry point 'com.squareup.okhttp.Request$Builder { Request$Builder(com.squareup.okhttp.Request,com.squareup.okhttp.Request$1); }', but not the descriptor class 'com.squareup.okhttp.Request$1'
Note: the configuration keeps the entry point 'com.squareup.okhttp.Response$Builder { Response$Builder(com.squareup.okhttp.Response,com.squareup.okhttp.Response$1); }', but not the descriptor class 'com.squareup.okhttp.Response$1'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.ConnectTimeoutException'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.scheme.HostNameResolver'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.scheme.LayeredSocketFactory'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.scheme.SocketFactory'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.ssl.SSLSocketFactory'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.conn.ssl.X509HostnameVerifier'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.params.CoreConnectionPNames'
Note: the configuration explicitly specifies 'org.apache.http.' to keep library class 'org.apache.http.params.HttpConnectionParams'
Note: the configuration explicitly specifies 'org.apache.http.**' to keep library class 'org.apache.http.params.HttpParams'
Note: there were 8 references to unknown classes.
Warning: there were 48 unresolved references to classes or interfaces.
You should check your configuration for typos.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
You may need to add missing library jars or update their versions.
Note: there were 3 classes trying to access generic signatures using reflection.
If your code works fine without the missing classes, you can suppress
You should consider keeping the signature attributes
the warnings with '-dontwarn' options.
(using '-keepattributes Signature').
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
(http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 6 unkept descriptor classes in kept class members.
You should consider explicitly keeping the mentioned classes
(using '-keep').
java.io.IOException: Please correct the above warnings first.
(http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Note: there were 9 library classes explicitly being kept.
at proguard.Initializer.execute(Initializer.java:473)
You don't need to keep library classes; they are already left unchanged.
at proguard.ProGuard.initialize(ProGuard.java:233)
(http://proguard.sourceforge.net/manual/troubleshooting.html#libraryclass)
at proguard.ProGuard.execute(ProGuard.java:98)
Note: there were 9 unresolved dynamic references to classes or interfaces.
at proguard.ProGuard.main(ProGuard.java:538)
You should check if you need to specify additional program jars.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Note: there were 4 accesses to class members by means of introspection.
You should consider explicitly keeping the mentioned class members
(using '-keep' or '-keepclassmembers').
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember)
(CoreApp.Droid)
Version of the Plugin: 1.4.1
Platform: Android
Device: any
d
Tell us what should happen
Tell us what happens instead
The plugin is working pretty well in all samsung devices where I have tested so far but I'm getting an error in all non samsung devices where I have tested.
[SamsungFingerprintImplementation] com.samsung.android.sdk.SsdkUnsupportedException: This is not Samsung device.
[SamsungFingerprintImplementation] at com.samsung.android.sdk.pass.Spass.initialize(Unknown Source)
I have notice in your code that in the CreateFingerprint method inside the CrossFingerprint's class, you are asking for if it is compatible or not, and seem like the app is crashing there. Maybe in the constructor of SamsungFingerprintImplementation because inside that constructor it is when you are checking and setting the IsCompatible attribute.
I noticed a Google Play crash report for a Galaxy S5 Neo device. AFAIK this device does not have a fingerprint scanner. I don't own a Galaxy S5 Neo so I am unable to reproduce/debug this directly but I found the same crash report for this device in TestCloud.
Fingerprint is not available and app should continue
App crashes
MvvmCross.Platform.Exceptions.MvxException: Failed to construct and initialize ViewModel for type SetupWizardViewModel from locator MvxDefaultViewModelLocator - check InnerException for more information ---> MvvmCross.Platform.Exceptions.MvxException: Problem running viewModel lifecycle of type SetupWizardViewModel ---> System.AggregateException: One or more errors occurred. ---> Java.Lang.RuntimeException: Fingerprint Service is not running on the device.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()(<01d641b861aa41a08c3977d4970a5f65>: 0)
at Java.Interop.JniEnvironment+InstanceMethods.CallBooleanMethod(Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method)(<49e0625717b449b49bb626c364463a5a>: 0)
at Android.Runtime.JNIEnv.CallBooleanMethod(System.IntPtr jobject, System.IntPtr jmethod)(<40271dd77dc34a1db428a92c6619a155>: 0)
at Com.Samsung.Android.Sdk.Pass.SpassFingerprint.get_HasRegisteredFinger()(C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android.Samsung\obj\Release\generated\src\Com.Samsung.Android.Sdk.Pass.SpassFingerprint.cs: 482)
at Plugin.Fingerprint.Samsung.SamsungFingerprintImplementation+d__10.MoveNext()(<7c1c577fb1eb46b3b300c7b2befdf740>: 0)
at --- End of stack trace from previous location where exception was thrown ---(Async call boundary: )
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()(<01d641b861aa41a08c3977d4970a5f65>: 0)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task)(<01d641b861aa41a08c3977d4970a5f65>: 0)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task)(<01d641b861aa41a08c3977d4970a5f65>: 0)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task task)(<01d641b861aa41a08c3977d4970a5f65>: 0)
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult()(<01d641b861aa41a08c3977d4970a5f65>: 0) at Plugin.Fingerprint.Abstractions.FingerprintImplementationBase+<IsAvailableAsync>d__2.MoveNext()(C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Abstractions\FingerprintImplementationBase.cs: 23) at --- End of stack trace from previous location where exception was thrown ---(Async call boundary: ) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()(<01d641b861aa41a08c3977d4970a5f65>: 0) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task)(<01d641b861aa41a08c3977d4970a5f65>: 0) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task)(<01d641b861aa41a08c3977d4970a5f65>: 0) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task task)(<01d641b861aa41a08c3977d4970a5f65>: 0) at System.Runtime.CompilerServices.TaskAwaiter
1[TResult].GetResult()(<01d641b861aa41a08c3977d4970a5f65>: 0)
at SetupWizardViewModel+c__AnonStorey6+c__async5.MoveNext()(/Repos/SetupWizard/SetupWizardViewModel.cs: 95)
:
at System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean includeTaskCanceledExceptions)(<01d641b861aa41a08c3977d4970a5f65>: 0)
at System.Threading.Tasks.Task.Wait(System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken)(<01d641b861aa41a08c3977d4970a5f65>: 0)
at System.Threading.Tasks.Task.Wait()(<01d641b861aa41a08c3977d4970a5f65>: 0)
atSetupWizardViewModel.InitWizardViewModels()(/Repos/SetupWizardViewModel.cs: 100)
at ViewModels.BaseWizardPresentingViewModel.Start()(/Repos/BaseWizardPresentingViewModel.cs: 17)
at SetupWizardViewModel.Start()(/Repos/SetupWizardViewModel.cs: 36)
at MvvmCross.Core.ViewModels.MvxDefaultViewModelLocator.RunViewModelLifecycle(MvvmCross.Core.ViewModels.IMvxViewModel viewModel, MvvmCross.Core.ViewModels.IMvxBundle parameterValues, MvvmCross.Core.ViewModels.IMvxBundle savedState)(<69bce0378e8e413982d3b552d7e387a8>: 0)
:
at MvvmCross.Core.ViewModels.MvxDefaultViewModelLocator.RunViewModelLifecycle(MvvmCross.Core.ViewModels.IMvxViewModel viewModel, MvvmCross.Core.ViewModels.IMvxBundle parameterValues, MvvmCross.Core.ViewModels.IMvxBundle savedState)(<69bce0378e8e413982d3b552d7e387a8>: 0)
at MvvmCross.Core.ViewModels.MvxDefaultViewModelLocator.Load(System.Type viewModelType, MvvmCross.Core.ViewModels.IMvxBundle parameterValues, MvvmCross.Core.ViewModels.IMvxBundle savedState)(<69bce0378e8e413982d3b552d7e387a8>: 0)
at MvvmCross.Core.ViewModels.MvxViewModelLoader.LoadViewModel(MvvmCross.Core.ViewModels.MvxViewModelRequest request, MvvmCross.Core.ViewModels.IMvxBundle savedState, MvvmCross.Core.ViewModels.IMvxViewModelLocator viewModelLocator)(<69bce0378e8e413982d3b552d7e387a8>: 0)
:
at MvvmCross.Core.ViewModels.MvxViewModelLoader.LoadViewModel(MvvmCross.Core.ViewModels.MvxViewModelRequest request, MvvmCross.Core.ViewModels.IMvxBundle savedState, MvvmCross.Core.ViewModels.IMvxViewModelLocator viewModelLocator)(<69bce0378e8e413982d3b552d7e387a8>: 0)
at MvvmCross.Core.ViewModels.MvxViewModelLoader.LoadViewModel(MvvmCross.Core.ViewModels.MvxViewModelRequest request, MvvmCross.Core.ViewModels.IMvxBundle savedState)(<69bce0378e8e413982d3b552d7e387a8>: 0)
at MvvmCross.Droid.Views.MvxAndroidViewsContainer.ViewModelFromRequest(MvvmCross.Core.ViewModels.MvxViewModelRequest viewModelRequest, MvvmCross.Core.ViewModels.IMvxBundle savedState)(: 0)
at MvvmCross.Droid.Views.MvxAndroidViewsContainer.CreateViewModelFromIntent(Android.Content.Intent intent, MvvmCross.Core.ViewModels.IMvxBundle savedState)(: 0)
at MvvmCross.Droid.Views.MvxAndroidViewsContainer.Load(Android.Content.Intent intent, MvvmCross.Core.ViewModels.IMvxBundle savedState, System.Type viewModelTypeHint)(: 0)
at MvvmCross.Droid.Views.MvxActivityViewExtensions.LoadViewModel(MvvmCross.Droid.Views.IMvxAndroidView androidView, MvvmCross.Core.ViewModels.IMvxBundle savedState)(: 0)
at MvvmCross.Droid.Views.MvxActivityViewExtensions+<>c__DisplayClass1_0.b__1()(: 0)
at MvvmCross.Core.Views.MvxViewExtensionMethods.OnViewCreate(MvvmCross.Core.Views.IMvxView view, System.Func1[TResult] viewModelLoader)(<69bce0378e8e413982d3b552d7e387a8>: 0) at MvvmCross.Droid.Views.MvxActivityViewExtensions.OnViewCreate(MvvmCross.Droid.Views.IMvxAndroidView androidView, Android.OS.Bundle bundle)(<f6aebf863dc84be7b380cfec8d459508>: 0) at MvvmCross.Droid.Views.MvxActivityAdapter.EventSourceOnCreateCalled(System.Object sender, MvvmCross.Platform.Core.MvxValueEventArgs
1[T] eventArgs)(: 0)
at (wrapper delegate-invoke) System.EventHandler1[MvvmCross.Platform.Core.MvxValueEventArgs
1[Android.OS.Bundle]]:invoke_void_object_TEventArgs(object,MvvmCross.Platform.Core.MvxValueEventArgs1<Android.OS.Bundle>)(: ) at MvvmCross.Platform.Core.MvxDelegateExtensionMethods.Raise[T](System.EventHandler
1[TEventArgs] eventHandler, System.Object sender, T value)(D:\git\MvvmCross\MvvmCross\Platform\Platform\Core\MvxDelegateExtensionMethods.cs: 21)
at MvvmCross.Droid.Support.V4.EventSource.MvxEventSourceFragmentActivity.OnCreate(Android.OS.Bundle bundle)(: 0)
at MvvmCross.Droid.Support.V4.MvxCachingFragmentActivity.OnCreate(Android.OS.Bundle bundle)(: 0)
at MvxStateSavingCompatView1[T].OnCreate(Android.OS.Bundle savedInstanceState)(/Repos/MvxStateSavingCompatView.cs: 48) at BaseView
1[T].OnCreate(Android.OS.Bundle savedInstanceState)(/Repos/BaseView.cs: 83)
at SetupWizardView.OnCreate(Android.OS.Bundle savedInstanceState)(/Repos/SetupWizardView.cs: 55)
at Android.Support.V4.App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_(System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState)(<7a2a36256f1648ecbd0c15a75bc5a349>: 0)
at (wrapper dynamic-method) System.Object:d30270a0-8b89-4200-aa88-2dde3d5f4a32(intptr,intptr,intptr)(: )
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 1199)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method: )
at java.lang.reflect.Method.invoke(Method.java: 372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 1404)
at ... 1 more(: )
CRASH: Crash in native code
============PushLog. stop!
[1][CommonFeature] ###versionCode : 115073101, CONTACT_PROFILE_SERVICE_ENABLE : true, FREE_MESSAGE_ENABLE : false
[1][CommonFeature] ###versionCode : 115073101, CONTACT_PROFILE_SERVICE_ENABLE : true, FREE_MESSAGE_ENABLE : false
[ELog][1][EasySignUp] [NotRegistered][012c34e954a8aa3a7bfe65a18da7d33ff7516ef282]
Version of the Plugin:
1.4.2
Platform:
Android 5.1.1
Device:
Samsung Galaxy S5 Neo
If the finger was not recognized, visualize the failure with a shaking icon or displaying the error text.
I've come across the need of registering custom analytics events for result statuses that are unknown, like TouchIDLockout
. I think some statuses can be exposed so the plugin provides the developer a custom way to handle results from the OS.
Fingerprint plugin crashes on iOS 7: Wrapper type 'LocalAuthentication.LAContext' is missing its native ObjectiveC class 'LAContext'.
App starts normally
App crashes
Wrapper type 'LocalAuthentication.LAContext' is missing its native ObjectiveC class 'LAContext'.
at Registrar.DynamicRegistrar.OnRegisterType (Registrar.Registrar+ObjCType type) [0x00113] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/ObjCRuntime/DynamicRegistrar.cs:796
at Registrar.Registrar.RegisterTypeUnsafe (System.Type type, System.Collections.Generic.List1[System.Exception]& exceptions) [0x010b5] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/ObjCRuntime/Registrar.cs:1890 at Registrar.Registrar.RegisterType (System.Type type, System.Collections.Generic.List
1[System.Exception]& exceptions) [0x00011] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/ObjCRuntime/Registrar.cs:1064
at Registrar.DynamicRegistrar.Register (System.Type type) [0x00002] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/ObjCRuntime/DynamicRegistrar.cs:1138
at ObjCRuntime.Class.Register (System.Type type) [0x00000] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/ObjCRuntime/Class.cs:161
at ObjCRuntime.Class.GetHandle (System.Type type) [0x00000] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/ObjCRuntime/Class.cs:129
at Plugin.Fingerprint.FingerprintImplementation.CreateLaContext () [0x00001] in <0ce2e501fec54f098d84537f3088c448>:0
at Plugin.Fingerprint.FingerprintImplementation..ctor () [0x00008] in <0ce2e501fec54f098d84537f3088c448>:0
at Plugin.Fingerprint.CrossFingerprint.CreateFingerprint () [0x00001] in <0ce2e501fec54f098d84537f3088c448>:0
at System.Lazy`1[T].CreateValue () [0x00075] in <15e850188d9f425bbeae90f0bbc51e17>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.m__0 (System.Object state) [0x00000] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018
at UIKit.UIKitSynchronizationContext+c__AnonStorey0.<>m__0 () [0x00000] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/UIKit/UIKitSynchronizationContext.cs:24
at Foundation.NSAsyncActionDispatcher.Apply () [0x00000] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/Foundation/NSAction.cs:163
at (wrapper managed-to-native) UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/UIKit/UIApplication.cs:79
at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00038] in /Users/builder/data/lanes/3969/7beaef43/source/xamarin-macios/src/UIKit/UIApplication.cs:63
**Version of the Plugin: 1.4.0
**Platform: iOS7
**Device: any with iOS7
Tapping cancel in the fingerprint dialog in Android results in the following error:
Unable to activate instance of type Plugin.Fingerprint.Dialog.DialogFingerprintAuthenticationCallback from native handle 0xbfb8e10c (key_handle 0xa9cb158).
I get this error in version 1.3.0-beta1, this worked fine in version 1.2.0
Additional info:
InnerException message: No constructor found for Plugin.Fingerprint.Dialog.DialogFingerprintAuthenticationCallback::.ctor(System.IntPtr, Android.Runtime.JniHandleOwnership)
The same behaviour as a non Samsung device: always show the TooManyAttempts message while fingerprint is locked due to too many attempts.
see reproduction steps
n/a
Version of the Plugin: 1.4.2
Platform: Android 6.0.1
Device: e.g. Tested on Samsung Galaxy S7
When I create a default setup using a light theme, the baked in fragment shows a white background with a white fingerprint icon. I'd like the ability to tint the icon to a different color if possible.
I know we can create a custom Fragment, but I'm not sure how that works within your plugin. I'd like to keep everything else exactly as it is (white background, black text), but simply color the icon something different so that it is visible.
Follow initial setup and use the following theme in your android app ``Theme.AppCompat.Light.NoActionBar
Test
Fingerprint image should be visible on the dialog fragment
Fingerprint image is the same color as the background (white).
Version of the Plugin: 1.4.2
Platform: Android 7.1
Device: Google Pixel XL
Currently for the default FingerprintDialog fragment button second_dialog_button
is commented out.
On iOS we have the ability to drive the user to a regular login page by using a fallback. The idea would be to have the same for Android.
What about exposing FallbackAction
to IFingerprint
where I can register to?
Using the SMS.Fingerprint.Sample.Droid app with MyCustomDialogFragment on a Samsung device
On a non Samsung device the dialog does not appear. I would prefer/expect this behaviour for a Samsung device as well.
Dialog appears => dialog disappears => TooManyAttempts message shows.
n/a
Version of the Plugin: 1.4.2
Platform: Android 6.0.1
Device: Galaxy S7
This function currently looks like this:
public async Task<FingerprintAuthenticationResult> AuthenticateAsync(AuthenticationRequestConfiguration authRequestConfig, CancellationToken cancellationToken = new CancellationToken())
{
if(await IsAvailableAsync())
return new FingerprintAuthenticationResult { Status = FingerprintAuthenticationResultStatus.NotAvailable };
return await NativeAuthenticateAsync(authRequestConfig, cancellationToken);
}
Shouldn't it read like this:
public async Task<FingerprintAuthenticationResult> AuthenticateAsync(AuthenticationRequestConfiguration authRequestConfig, CancellationToken cancellationToken = new CancellationToken())
{
if(await IsAvailableAsync())
return await NativeAuthenticateAsync(authRequestConfig, cancellationToken);
return new FingerprintAuthenticationResult { Status = FingerprintAuthenticationResultStatus.NotAvailable };
}
should be ez, because LAContext is used.
It looks like the nuget is published after converting to .NET Standard and I'm not able to compile my normal PCL project (targeting .NET 4.5) after I update to v1.3.0. I need the fixes for Samsung and I can't convert the existing project to use .NET Standard libraries.
Output:
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): warning MSB3274: The primary reference "D:\Dev\Xamarin\xamarin-fingerprint\src\Plugin.Fingerprint.Abstractions\bin\Debug\Plugin.Fingerprint.Abstractions.dll" could not be resolved because it was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile78".
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): warning MSB3275: The primary reference "D:\Dev\Xamarin\xamarin-fingerprint\src\Plugin.Fingerprint\bin\Debug\Plugin.Fingerprint.dll" could not be resolved because it has an indirect dependency on the assembly "Plugin.Fingerprint.Abstractions, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" which was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile78".
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): warning MSB3274: The primary reference "D:\Dev\Xamarin\xamarin-fingerprint\src\Plugin.Fingerprint\bin\Debug\Plugin.Fingerprint.dll" could not be resolved because it was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile78".
1>D:\Dev\Xamarin\xamarin-fingerprint\src\Sample\SMS.Fingerprint.Sample\MainView.xaml.cs(4,7,4,13): error CS0246: The type or namespace name 'Plugin' could not be found (are you missing a using directive or an assembly reference?)
1>D:\Dev\Xamarin\xamarin-fingerprint\src\Sample\SMS.Fingerprint.Sample\MainView.xaml.cs(43,43,43,74): error CS0246: The type or namespace name 'FingerprintAuthenticationResult' could not be found (are you missing a using directive or an assembly reference?)
Install the Latest Version of Plugin.FingerPrint 1.4.2 (Problem exists from 1.3.0) into Xamarin.Forms Portable Project.
Refer Plugin.Fingerprint.Abstractions in a class and Compile.
Build fails and Says that "The primary reference "Plugin.Fingerprint.Abstractions, Version=1.4.2.0, Culture=neutral, processorArchitecture=MSIL" could not be resolved because it was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile259"
It should compile successfully.
Exception pasted in the 3rd Step. Verified the source code and it's targeted to .NET Portable Version only. But Plugin.FingerPrint is targeted to .NETStandard 1.0.
Not There Yet.
When building for UWP I'm receiving this error. Using VS 2015 on Win10 machine:
Payload file 'C:\Users[me].nuget\packages\Plugin.Fingerprint\1.4.2\lib\UAP10\Plugin.Fingerprint\Properties\Plugin.Fingerprint.UWP.rd.xml' does not exist.
Hi, i have been using your fingerprint plugin, and it has been great so far, however one thing i noticed is that it doesn't ask me for my fingerprint on an device, but it does on a simulator. Let me explain the issue:
On my application i give the user the ability to turn on fingerprint login in the settings, this works fine, the dialog appears and they enable fingerprint login.
I then go to logout of the application, so that the user is prompted to login again, and the fingerprint login dialog should appear, on the simulator it does appear, and on the device it does not appear.
The device treats it as authenticated... Almost like there is some time period after initially entering a fingerprint, for which a user will no longer have to enter it. If i completely close the app and then open it again, the dialog appears, so potentially it is still in memory.
I've tried to search for any documentation on this, but i'm unable to find it, mainly because i don't know specifically what i'm searching for. I'm sorry if im wasting your time
Thanks
The plugin is working fine on my Android 6.0 emulators but when running on my 6.0 real device the IsAvailable flag is false. The sample app also reports false on my phone and true on the emulators.
Fingerprint authentication is set up and is used on the lock screen of the real device.
Is there a way to diagnose and report why?
Support .NET standard as target platform.
#22 shows the need for more log output.
Wrap and deliver as MvvMCross plugin
[mono] Unhandled Exception:
[mono] MvvmCross.Platform.Exceptions.MvxException: could not load plugin assembly for type MvvmCross.Plugins.Fingerprint.Android.PluginLoader
[mono] at MvvmCross.Platform.Plugins.MvxFilePluginManager.LoadAssembly (System.Type toLoad) [0x00071] in D:\git\MvvmCross\MvvmCross\Platform\Platform\Plugins\MvxFilePluginManager.cs:76
[mono] at MvvmCross.Platform.Plugins.MvxFilePluginManager.FindPlugin (System.Type toLoad) [0x00000] in D:\git\MvvmCross\MvvmCross\Platform\Platform\Plugins\MvxFilePluginManager.cs:39
[mono] at MvvmCross.Platform.Plugins.MvxPluginManager.LoadPlugin (System.Type toLoad) [0x00000] in D:\git\MvvmCross\MvvmCross\Platform\Platform\Plugins\MvxPluginManager.cs:150
[mono] at MvvmCross.Platform.Plugins.MvxPluginManager.ExceptionWrappedLoadPlugin (System.Type toLoad) [0x00000] in D:\git\MvvmCross\MvvmCross\Platform\Platform\Plugins\MvxPluginManager.cs:122
I've followed the instructions, but I get this error while starting the app. Then it crashes. Any ideas ? I'm using the latest beta
The primary reference "Plugin.Fingerprint, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL" could not be resolved because it has an indirect dependency on the assembly "Plugin.Fingerprint.Abstractions, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" which was built against the ".NETPortable,Version=v5.0" framework. This is a higher version than the currently targeted framework ".NETPortable,Version=v4.5,Profile=Profile111".
LAContext is not available before iOS8, so the plugin (and the app using the plugin) crashes on an iPhone4 with the following error: Wrapper type 'LocalAuthentication.LAContext' is missing its native ObjectiveC class 'LAContext'.
Hi, I've come across the need of customizing the text of the LocalizedFallbackTitle for TouchID and noticed there's no way of doing it with the plugin. Once you fail reading a finger for the first time the option "Enter Password" is shown, but I can't customize the text or even hide it in an easy way.
This is controlled by LAContext.LocalizedFallbackTitle property.
Luckily, I have no problems using the standard behavior, but I wonder if I want something a bit more custom I'd have to do it directly with Xamarin.iOS apis.
My suggestion would be to expose this property on the IFingerprint
interface and reusing it on both platforms.
I am running the sample code (GetAvailabilityAsync) to check behavior on device with no fingerprint sensor.
It is throwing me exception rather than returning me enum value as NoSensor .
Exception:
[SamsungFingerprintImplementation] com.samsung.android.sdk.SsdkUnsupportedException: This device does not provide FingerprintService.
[SamsungFingerprintImplementation] at com.samsung.android.sdk.pass.Spass.initialize(Unknown Source)
Code:
public async Task FingerPrintAuthentication() { var availability = await CrossFingerprint.Current.GetAvailabilityAsync(); }
Task.Run(async () => { await FingerPrintAuthentication(); });
Manifest:
<uses-sdk android:minSdkVersion="16" /> <uses-permission android:name="android.permission.USE_FINGERPRINT" /> <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
Device details:
Device name: Samsung Galaxy S4(GT-19500)
OS : 5.0.1
Sensor : No
Hi Guys,
This just started happening in my latest build. I don't have a clear indication of what is causing it, but the fingerprint scanner stopped working and started throwing the following error. Maybe if you've seen this before you can give me an indication of why it's not working. It's just the basic usage of your plugin.
CrossFingerprint.SetCurrentActivityResolver(() => CrossCurrentActivity.Current.Activity);
in my main activity
var result = await CrossFingerprint.Current.AuthenticateAsync("Use your fingerprint scanner to authenticate");
when I want to scan for a fingerprint and it crashes, with the log below. Sorry for the bad reproduce steps, i'm not doing anything fancy and it crashes.
Install the package
Try basic usage
Observe crash
I just want the fingerprint scanning to start, Show the dialog, or with the config, just wait for a scan.
Tell us what happens instead
##Crashlog
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Plugin.Fingerprint.Dialog.FingerprintDialogFragment+d__19.MoveNext () [0x00032] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Dialog\FingerprintDialogFragment.cs:96
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at Plugin.Fingerprint.Contract.AndroidFingerprintImplementationBase+<NativeAuthenticateAsync>d__0.MoveNext () [0x00040] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Contract\AndroidFingerprintImplementationBase.cs:17 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter
1[TResult].GetResult () [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at Plugin.Fingerprint.Abstractions.FingerprintImplementationBase+d__1.MoveNext () [0x000aa] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Abstractions\FingerprintImplementationBase.cs:18
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at OTP.Droid.AndroidDeviceCommandService+<ListenForFingerprintAuthentication>c__async0.MoveNext () [0x0007a] in /Users/danemackier/MyFiles/Work/Clients/DevEnterprise/SharePointOTP/OTP.Droid/Services/AndroidDeviceCommandService.cs:25 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at OTP.Shared.ViewModels.OtpViewModel+<ListenForFingerprintAuthentication>c__asyncC.MoveNext () [0x00054] in /Users/danemackier/MyFiles/Work/Clients/DevEnterprise/SharePointOTP/OTP.Shared/ViewModels/OtpViewModel.cs:286 --- End of inner exception stack trace --- ---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object. at Plugin.Fingerprint.Dialog.FingerprintDialogFragment+<ShowAsync>d__19.MoveNext () [0x00032] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Dialog\FingerprintDialogFragment.cs:96 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter
1[TResult].GetResult () [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at Plugin.Fingerprint.Contract.AndroidFingerprintImplementationBase+d__0.MoveNext () [0x00040] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Contract\AndroidFingerprintImplementationBase.cs:17
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at Plugin.Fingerprint.Abstractions.FingerprintImplementationBase+d__1.MoveNext () [0x000aa] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Abstractions\FingerprintImplementationBase.cs:18
--- End of stack trace from previous location where exception was thrown ---
If something causes an exception paste full stack trace + Exception here
Runtime:
Mono 4.8.0 (mono-4.8.0-branch/e4a3cf3) (64-bit)
GTK+ 2.24.23 (Raleigh theme)
Package version: 408000495
Xamarin.Android
Version: 7.1.0.41 (Xamarin Studio Community)
Android SDK: /Users/danemackier/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
5.1 (API level 22)
6.0 (API level 23)
7.0 (API level 24)
7.1 (API level 25)
SDK Tools Version: 25.1.7
SDK Platform Tools Version: 24.0.1
SDK Build Tools Version: 24.0.2
Java SDK: /usr
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
Version of the Plugin: 1.4.2
Platform: Android 7.1.1
Device: e.g. LG Nexus 5x
I'm seeing this on my Samsung S5 but it's difficult to reproduce.
After a successful result the dialog disappears as well as the app and then it crashes.
Tends to happen after an unsuccessful or canceled action but not always...
Android Unhandled exception: Java.Lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3819/c1d1c79c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x000a7] in /Users/builder/data/lanes/3819/c1d1c79c/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12083
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00068] in /Users/builder/data/lanes/3819/c1d1c79c/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:31
at Android.App.DialogFragment.Dismiss () [0x00000] in /Users/builder/data/lanes/3819/c1d1c79c/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Android.App.DialogFragment.cs:243
at Plugin.Fingerprint.Dialog.FingerprintDialogFragment+d__20.MoveNext () [0x00098] in C:\Projekte\xamarin-fingerprint\src\Plugin.Fingerprint.Android\Dialog\FingerprintDialogFragment.cs:128
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3819/c1d1c79c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.m__0 (System.Object state) [0x00000] in /Users/builder/data/lanes/3819/c1d1c79c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018
at Android.App.SyncContext+c__AnonStorey0.<>m__0 () [0x00000] in /Users/builder/data/lanes/3819/c1d1c79c/source/xamarin-android/src/Mono.Android/Android.App/SyncContext.cs:18
at Java.Lang.Thread+RunnableImplementor.Run () [0x0000b] in /Users/builder/data/lanes/3819/c1d1c79c/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in /Users/builder/data/lanes/3819/c1d1c79c/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Java.Lang.IRunnable.cs:81
at (wrapper dynamic-method) System.Object:de2042cc-35ca-4fd5-b8c6-97b660a4057e (intptr,intptr)
--- End of managed Java.Lang.IllegalStateException stack trace ---
[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.IllegalStateException: Can not perform this action after onSaveInstanceState
[mono-rt] --- End of managed Java.Lang.IllegalStateException stack trace ---
[mono-rt] java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
[mono-rt] at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1428)
[mono-rt] at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1446)
[mono-rt] at android.app.BackStackRecord.commitInternal(BackStackRecord.java:687)
[mono-rt] at android.app.BackStackRecord.commit(BackStackRecord.java:663)
[mono-rt] at android.app.DialogFragment.dismissInternal(DialogFragment.java:301)
[mono-rt] at android.app.DialogFragment.dismiss(DialogFragment.java:267)
[mono-rt] at md54832021a7e88cfc4565df97a94342004.TaskAnimationListener.n_onAnimationEnd(Native Method)
[mono-rt] at md54832021a7e88cfc4565df97a94342004.TaskAnimationListener.onAnimationEnd(TaskAnimationListener.java:41)
[mono-rt] at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1239)
[mono-rt] at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:766)
[mono-rt] at android.animation.ValueAnimator$AnimationHandler$1.run(ValueAnimator.java:801)
[mono-rt] at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
[mono-rt] at android.view.Choreographer.doCallbacks(Choreographer.java:695)
[mono-rt] at android.view.Choreographer.doFrame(Choreographer.java:628)
[mono-rt] at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
[mono-rt] at android.os.Handler.handleCallback(Handler.java:739)
[mono-rt] at android.os.Handler.dispatchMessage(Handler.java:95)
[mono-rt] at android.os.Looper.loop(Looper.java:158)
[mono-rt] at android.app.ActivityThread.main(ActivityThread.java:7224)
[mono-rt] at java.lang.reflect.Method.invoke(Native Method)
[mono-rt] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
[mono-rt] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
[mono-rt]
I think this will keep away the people who do not install the packages correctly:
It's then the same approach that James uses in his plugins.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.