Skip to content

Instantly share code, notes, and snippets.

View alistairsykes's full-sized avatar

Alistair Sykes alistairsykes

View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/img_android">
<target
android:name="arm-left"
android:animation="@anim/rotation" />
</animated-vector>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:duration="600"
android:interpolator="@android:anim/linear_interpolator"
android:propertyName="rotation"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:valueFrom="180"
android:valueTo="220"
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="208dp"
android:height="157dp"
android:viewportWidth="208"
android:viewportHeight="157">
<group android:name="body">
<path
android:fillColor="#000000"
android:pathData="M118.5,146C123,146 127,142.5 127,138L127,118L132,118C135.5,118 138,115 138,112L138,56L70,56L70,112C70,115 72.5,118 76,118L81,118L81,138C81,142.5 85,146 89.5,146C94,146 98,142.5 98,138L98,118L110,118L110,138C110,142.5 114,146 118.5,146Z" />
textError.startAnimation(
AnimationUtils.loadAnimation(context, R.anim.shake)
)
textError.postOnAnimationDelayed({
if (!textError.isAttachedToWindow) return@postOnAnimationDelayed
textError.animate()
.alpha(0F)
.setDuration(500)
.setInterpolator(LinearInterpolator())
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="50"
android:fromXDelta="-2%"
android:repeatCount="3"
android:repeatMode="reverse"
android:toXDelta="2%" />
</set>
val diffY = resources.displayMetrics.heightPixels * 0.1F
val translateUp = ObjectAnimator.ofFloat(view, "translationY", 0F, -diffY)
translateUp.duration = 500
translateUp.interpolator = LinearInterpolator()
val translateDown = ObjectAnimator.ofFloat(view, "translationY", -diffY, 0F)
translateDown.duration = 500
translateDown.interpolator = BounceInterpolator()
val background = itemView.background
if (background is RippleDrawable) {
itemView.postOnAnimationDelayed({
background.setHotspot(
(itemView.width * 0.75).toFloat(),
(itemView.height * 0.5).toFloat()
)
background.state = intArrayOf(
android.R.attr.state_pressed,
android.R.attr.state_enabled
val builder = CertificatePinner.Builder()
.add("publicobject.com", "sha256/afwiKY3RxoMmLkuRW1l7QsPZTJPwDS2pdDROQjXw8ig=")
.add("publicobject.com", "sha256/klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=")
.add("publicobject.com", "sha256/grX4Ta9HpZx6tSHkmCrvpApTQGo67CYDnvprLg5yRME=")
.add("publicobject.com", "sha256/lCppFqbkrlJ3EcVFAkeip0+44VaoJUymbnOaEUk7tEU=")
handleChallenge(builder.build())
HttpClient: Certificate pinning failure!
Peer certificate chain:
sha256/afwiKY3RxoMmLkuRW1l7QsPZTJPwDS2pdDROQjXw8ig=: publicobject.com
sha256/klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=: COMODO RSA Secure Server CA
sha256/grX4Ta9HpZx6tSHkmCrvpApTQGo67CYDnvprLg5yRME=: COMODO RSA Certification Authority
sha256/lCppFqbkrlJ3EcVFAkeip0+44VaoJUymbnOaEUk7tEU=: AddTrust External CA Root
Pinned certificates for publicobject.com:
sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
HttpClient(Ios) {
// ...
engine {
val builder = CertificatePinner.Builder()
.add("publicobject.com", "sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=")
handleChallenge(builder.build())
}
}