Skip to content

Instantly share code, notes, and snippets.

View naufalnibros's full-sized avatar
:octocat:
Working from home

Moch Naufal Nibros naufalnibros

:octocat:
Working from home
View GitHub Profile
@naufalnibros
naufalnibros / SetClass.java
Created June 27, 2022 05:00
Struktur Data Set dalam Java
class SetClass {
int size = 0;
private final Object[] mapping = new Object[4];
void add(Object value) {
if (value == null) {
mapping[size] = "null";
} else {
<?php
$list = [
'SMP 01 Malang' =>
[
'alamat' => 'Jl Mawar No 01',
'tlp' => '0341998822',
],
'SMA 01 Malang' =>
[
'alamat' => 'Jl SMA 01 No 41',
@naufalnibros
naufalnibros / SaveNavigation.kt
Created June 10, 2021 03:36
SaveNavigation.kt for Android Kotlin Navigation Component
fun View.blockingClickListener(debounceTime: Long = 1200L, action: () -> Unit) {
setOnClickListener(object : View.OnClickListener {
private var lastClickTime: Long = 0
override fun onClick(v: View) {
val timeNow = SystemClock.elapsedRealtime()
val elapsedTimeSinceLastClick = timeNow - lastClickTime
if (elapsedTimeSinceLastClick < debounceTime) {
return
} else {
action()
@naufalnibros
naufalnibros / Activity.java
Last active April 28, 2021 02:55
Android: How to handle right to left swipe gestures
imageView.setOnTouchListener(new OnSwipeTouchListener(MyActivity.this) {
public void onSwipeTop() {
Toast.makeText(MyActivity.this, "top", Toast.LENGTH_SHORT).show();
}
public void onSwipeRight() {
Toast.makeText(MyActivity.this, "right", Toast.LENGTH_SHORT).show();
}
public void onSwipeLeft() {
Toast.makeText(MyActivity.this, "left", Toast.LENGTH_SHORT).show();
}
@naufalnibros
naufalnibros / ObservableExtensions.kt
Created July 27, 2020 04:54 — forked from amay077/ObservableExtensions.kt
Convert RxJava:Observable<T> to AAC:LiveData<T>
package your.awesome.package
import android.arch.lifecycle.LiveData
import android.arch.lifecycle.MutableLiveData
import io.reactivex.Observable
import io.reactivex.disposables.Disposable
fun <T> Observable<T>.toLiveData() : LiveData<T> {
return object : MutableLiveData<T>() {
@naufalnibros
naufalnibros / FullScreenDialogFragment.java
Created February 17, 2020 07:55
Android Studio Java - Fullscreen Dialog Fragment with Status Bar
class FullScreenDialogFragment extends DialogFragment {
public FullScreenDialogFragment() {
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NORMAL, R.style.AppTheme);
@naufalnibros
naufalnibros / DatetimeUtils.java
Created February 4, 2020 09:06
Format Datetime Helper for Java Android
import android.app.DatePickerDialog;
import android.content.Context;
import android.util.Log;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
@naufalnibros
naufalnibros / gist:c6b3ef074306a173c780fbf8468beb24
Created January 13, 2020 01:01 — forked from bam-e22/gist:6810fa3890de46085126f2558d1caeda
Retrofit + RxJava2 : Flowable Combining #RxJava
newsList = new ArrayList<>();
NetworkService networkService = GlobalApplication.getGlobalApplicationContext().getNetworkService();
List<Flowable<?>> newsRequests = new ArrayList<>();
List<String> selectedCategory = newsCard.getConfigNews().getCategory();
for (String cat : selectedCategory) {
newsRequests.add(networkService.getNews(cat));
@naufalnibros
naufalnibros / FullScreenDialogFragment.java
Last active November 21, 2019 09:22
Android Studio Java - Create a Full Screen Dialog Fragment
public class FullScreenDialogFragment extends DialogFragment {
public static final String TAG = FullScreenDialogFragment.class.getSimpleName();
public FullScreenDialogFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@naufalnibros
naufalnibros / GlobalSharedPreferences.java
Last active February 25, 2020 04:03
The Best Way to make Global SharedPreferences Android using Java. Use a Singleton Pattern Class that wraps around SharedPreference
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.text.TextUtils;
import com.google.gson.Gson;
import java.util.Map;
import java.util.Set;