최종 업데이트 : 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 |