Skip to content

Instantly share code, notes, and snippets.

View IhwanID's full-sized avatar

Ihwan IhwanID

View GitHub Profile
package id.ihwan.aac.view
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager
import id.ihwan.aac.R
import id.ihwan.aac.adapter.MainAdapter
@IhwanID
IhwanID / build.gradle
Created June 16, 2019 11:28
Java Lambda 8 Expressions
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
@IhwanID
IhwanID / WebViewActivity.kt
Last active July 3, 2019 04:08
webview class
class WebViewActivity : Activity() {
@SuppressLint("SetJavaScriptEnabled")
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_webview)
val webView = findViewById<WebView>(R.id.webView)
webView.settings.javaScriptEnabled = true
webView.loadUrl(intent.getStringExtra("url"))
@IhwanID
IhwanID / CardStackSpacingItemDecoration.kt
Last active July 3, 2019 04:52
costum itemdecoration
import android.content.res.Resources
import android.graphics.Rect
import android.view.View
import androidx.recyclerview.widget.RecyclerView
class CardStackSpacingItemDecoration : RecyclerView.ItemDecoration() {
private val dp = Resources.getSystem().displayMetrics.density
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
@IhwanID
IhwanID / BindingAdapters.kt
Created July 3, 2019 05:03
Binding Adapter Collection
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.GradientDrawable
import android.graphics.drawable.ShapeDrawable
import android.os.Build
import android.text.Html
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import androidx.cardview.widget.CardView
@IhwanID
IhwanID / main.kt
Created July 11, 2019 04:44
Hide the keyboard Android kotlin
// Hide the keyboard.
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view.windowToken, 0)
@IhwanID
IhwanID / Navigation.md
Created July 14, 2019 13:16
Principle of Navigation Android (Jetpack)

Principle of Navigation (Android Architecture Component / Jetpack)

  1. There's Always Starting Place
  2. You can always go back
  3. Up goes back (mostly)
@IhwanID
IhwanID / main.kt
Created August 27, 2019 12:28
Open Whatsapp Intent in Kotlin Android
try {
val sendIntent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "Hello Swapz")
putExtra("jid", "${data.phone}@s.whatsapp.net")
type = "text/plain"
setPackage("com.whatsapp")
}
startActivity(sendIntent)
}catch (e: Exception){

Keybase proof

I hereby claim:

  • I am ihwanid on github.
  • I am ihwanid (https://keybase.io/ihwanid) on keybase.
  • I have a public key ASC2CF9mXFR2wuDupH3cLmZ4HmUcSTM9RHeMDfrgdOWTYAo

To claim this, I am signing this object:

@IhwanID
IhwanID / SplashActivity.kt
Created October 18, 2019 23:09
The Right Way to Create Splash Screen on Android
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.content.Intent
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)