removed implicit networ change receiver

This commit is contained in:
Mariotaku Lee 2017-04-05 19:00:39 +08:00
parent 6d86ce5b75
commit 991f34f6cd
No known key found for this signature in database
GPG Key ID: 15C10F89D7C33535
7 changed files with 4 additions and 37 deletions

View File

@ -656,13 +656,6 @@
android:resource="@xml/pickncrop__file_paths"/>
</provider>
<receiver android:name=".receiver.ConnectivityStateReceiver">
<intent-filter>
<action
android:name="android.net.conn.CONNECTIVITY_CHANGE"
tools:ignore="BatteryLife"/>
</intent-filter>
</receiver>
<receiver android:name=".receiver.PowerStateReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>

View File

@ -26,6 +26,7 @@ import android.content.pm.PackageManager
import android.content.res.Configuration
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import android.net.ConnectivityManager
import android.os.AsyncTask
import android.support.multidex.MultiDex
import com.bumptech.glide.Glide
@ -49,6 +50,7 @@ import org.mariotaku.twidere.activity.MainActivity
import org.mariotaku.twidere.activity.MainHondaJOJOActivity
import org.mariotaku.twidere.constant.*
import org.mariotaku.twidere.model.DefaultFeatures
import org.mariotaku.twidere.receiver.ConnectivityStateReceiver
import org.mariotaku.twidere.service.StreamingService
import org.mariotaku.twidere.util.*
import org.mariotaku.twidere.util.content.TwidereSQLiteOpenHelper
@ -134,6 +136,7 @@ class TwidereApplication : Application(), Constants, OnSharedPreferenceChangeLis
extraFeaturesService.appStarted()
registerActivityLifecycleCallbacks(activityTracker)
registerReceiver(ConnectivityStateReceiver(), IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION))
listenExternalThemeChange()

View File

@ -24,48 +24,19 @@ import android.content.Context
import android.content.Intent
import android.net.ConnectivityManager
import android.support.v4.net.ConnectivityManagerCompat
import edu.tsinghua.hotmobi.HotMobiLogger
import edu.tsinghua.hotmobi.UploadLogsService
import edu.tsinghua.hotmobi.model.NetworkEvent
import org.mariotaku.kpreferences.get
import org.mariotaku.twidere.TwidereConstants.SHARED_PREFERENCES_NAME
import org.mariotaku.twidere.constant.usageStatisticsKey
import org.mariotaku.twidere.service.StreamingService
import org.mariotaku.twidere.util.DebugLog
import org.mariotaku.twidere.util.Utils
import org.mariotaku.twidere.util.dagger.DependencyHolder
class ConnectivityStateReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
DebugLog.d(RECEIVER_LOGTAG, String.format("Received Broadcast %s", intent), null)
if (ConnectivityManager.CONNECTIVITY_ACTION != intent.action) return
val prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE)
if (prefs[usageStatisticsKey]) {
// BEGIN HotMobi
val event = NetworkEvent.create(context)
HotMobiLogger.getInstance(context).log(event)
// END HotMobi
}
val appContext = context.applicationContext
val cm = appContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val isNetworkMetered = ConnectivityManagerCompat.isActiveNetworkMetered(cm)
val holder = DependencyHolder.get(context)
holder.mediaPreloader.isNetworkMetered = isNetworkMetered
val isCharging = Utils.isCharging(appContext)
if (!isNetworkMetered && isCharging) {
val currentTime = System.currentTimeMillis()
val lastSuccessfulTime = HotMobiLogger.getLastUploadTime(appContext)
if (currentTime - lastSuccessfulTime > HotMobiLogger.UPLOAD_INTERVAL_MILLIS) {
appContext.startService(Intent(appContext, UploadLogsService::class.java))
}
}
StreamingService.startOrStopService(appContext)
}
companion object {
private const val RECEIVER_LOGTAG = "TwidereConnectivity"
}
}

View File

@ -7,5 +7,4 @@
<!-- Config for home screen -->
<bool name="home_tab_has_multiple_columns">false</bool>
<bool name="support_new_document_intent">false</bool>
</resources>

View File

@ -2,4 +2,5 @@
<resources>
<bool name="use_job_refresh_service">false</bool>
<bool name="use_legacy_refresh_service">true</bool>
<bool name="support_new_document_intent">false</bool>
</resources>