최종 업데이트 : 2014-07-14 15:44:18
Intent.ACTION_BATTERY_CHANGED 를 Broadcast receiver에 등록해 변경사항이 있을때마다, 정보를 수신할 수 있음
아니면, dumpsys 를 통해 바로 확인할 수 있음
| List<ChatChooseItem> chatChooseItems = getMockItems(); | |
| List<ChatChooseItem> testList = new ArrayList<>(); | |
| PublishSubject<String> publishSubject = PublishSubject.create(); | |
| publishSubject | |
| .throttleWithTimeout(300, TimeUnit.MILLISECONDS) | |
| .flatMap(s -> Observable.from(chatChooseItems) | |
| .filter(chatChooseItem -> chatChooseItem.getName().toLowerCase().contains(s.toLowerCase())) | |
| .toSortedList((lhs, rhs) -> lhs.getName().toLowerCase().compareTo(rhs.getName().toLowerCase())) | |
| ) |
최종 업데이트 : 2014-07-14 15:44:18
Intent.ACTION_BATTERY_CHANGED 를 Broadcast receiver에 등록해 변경사항이 있을때마다, 정보를 수신할 수 있음
아니면, dumpsys 를 통해 바로 확인할 수 있음
| package com.blogspot.ksoichiro.linktest; | |
| import android.text.Layout; | |
| import android.text.Spannable; | |
| import android.text.SpannableString; | |
| import android.text.Spanned; | |
| import android.text.TextUtils; | |
| import android.text.method.LinkMovementMethod; | |
| import android.text.style.ClickableSpan; |
| package com.blogspot.ksoichiro.linktest; | |
| import android.text.Layout; | |
| import android.text.Spannable; | |
| import android.text.SpannableString; | |
| import android.text.Spanned; | |
| import android.text.TextUtils; | |
| import android.text.method.LinkMovementMethod; | |
| import android.text.style.ClickableSpan; | |
| import android.text.style.URLSpan; |
| package com.gabesechan.android.reusable.receivers; | |
| import java.util.Date; | |
| import android.content.BroadcastReceiver; | |
| import android.content.Context; | |
| import android.content.Intent; | |
| import android.telephony.TelephonyManager; | |
| public abstract class PhonecallReceiver extends BroadcastReceiver { |
| package rxjava.issue; | |
| import java.util.Queue; | |
| import java.util.concurrent.*; | |
| import java.util.concurrent.atomic.AtomicInteger; | |
| import rx.*; | |
| import rx.Observable.Operator; | |
| import rx.Scheduler.Worker; | |
| import rx.functions.Action0; |
| public abstract class EndlessRecyclerViewScrollListener extends RecyclerView.OnScrollListener { | |
| // The minimum amount of items to have below your current scroll position | |
| // before loading more. | |
| private int visibleThreshold = 5; | |
| // The current offset index of data you have loaded | |
| private int currentPage = 0; | |
| // The total number of items in the dataset after the last load | |
| private int previousTotalItemCount = 0; | |
| // True if we are still waiting for the last set of data to load. | |
| private boolean loading = true; |
| package cc.cubone.turbo.core.rom; | |
| import android.os.Build; | |
| import android.view.Window; | |
| import android.view.WindowManager; | |
| import java.lang.reflect.Field; | |
| import java.lang.reflect.Method; | |
| /** |
| #!/bin/bash | |
| function monitor_adb () { | |
| adb start-server | |
| echo "[$(date)] adb started" | |
| while [ "$(adb shell echo 1)" ]; do sleep 5; done | |
| echo "[$(date)] adb is broken, restarting" |
| android.permission.ACCESS_ALL_DOWNLOADS | |
| android.permission.ACCESS_BLUETOOTH_SHARE | |
| android.permission.ACCESS_CACHE_FILESYSTEM | |
| android.permission.ACCESS_CHECKIN_PROPERTIES | |
| android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY | |
| android.permission.ACCESS_DOWNLOAD_MANAGER | |
| android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED | |
| android.permission.ACCESS_DRM_CERTIFICATES | |
| android.permission.ACCESS_EPHEMERAL_APPS | |
| android.permission.ACCESS_FM_RADIO |