boolean function ( Context arg0 , UserRecoverableErrorHandler arg1 ) { return canUseGooglePlayServices ( arg0 , arg1 ) && isChromeGoogleSigned ( arg0 ) ; }
same as #canusegoogleplayservices context , userrecoverableerrorhandler but also with the constraint that first-party apis must be available . this check is implemented by verifying that the package is google-signed ; if not , first-party apis will be unavailable at runtime . nuance : the check on whether or not the package is google-signed itself requires access to google play services , so this method first checks for `` normal '' non-first-party access and , if successful , makes a second call to google play services to determine the state of the package signature . the failure handling policy only applies to the first check , since google play services provides `` canned '' ways to deal with failures ; there is no special handling of the case where the google play services check succeeds and the google-signed package check fails the method will simply return false . concode_field_sep TimesHistogramSample mRegistrationTimeHistogramSample concode_elem_sep int FLAG_SHOULD_BE_SYSTEM concode_elem_sep AtomicReference<ExternalAuthUtils> sInstance concode_elem_sep int FLAG_SHOULD_BE_GOOGLE_SIGNED concode_elem_sep String TAG concode_elem_sep SparseHistogramSample mConnectionResultHistogramSample concode_field_sep int checkGooglePlayServicesAvailable concode_elem_sep String[] getCallingPackages concode_elem_sep String describeError concode_elem_sep boolean isChromeGoogleSigned concode_elem_sep boolean isSystemBuild concode_elem_sep boolean isUserRecoverableError concode_elem_sep boolean isCallerValidForPackage concode_elem_sep boolean isGoogleSigned concode_elem_sep boolean canUseGooglePlayServices concode_elem_sep void recordConnectionResult concode_elem_sep boolean isCallerValid concode_elem_sep boolean isCallerValid concode_elem_sep ExternalAuthUtils getInstance concode_elem_sep boolean isGooglePlayServicesMissing