mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-04 23:08:39 +09:00
pt 1 in reviving the android build (copied from pm 28a1, wish me luck)
This commit is contained in:
parent
efa9662725
commit
d7788a6d6d
4249 changed files with 468189 additions and 0 deletions
81
mobile/android/thirdparty/com/squareup/picasso/PicassoExecutorService.java
vendored
Normal file
81
mobile/android/thirdparty/com/squareup/picasso/PicassoExecutorService.java
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Square, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.squareup.picasso;
|
||||
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.telephony.TelephonyManager;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* The default {@link java.util.concurrent.ExecutorService} used for new {@link Picasso} instances.
|
||||
* <p/>
|
||||
* Exists as a custom type so that we can differentiate the use of defaults versus a user-supplied
|
||||
* instance.
|
||||
*/
|
||||
class PicassoExecutorService extends ThreadPoolExecutor {
|
||||
private static final int DEFAULT_THREAD_COUNT = 3;
|
||||
|
||||
PicassoExecutorService() {
|
||||
super(DEFAULT_THREAD_COUNT, DEFAULT_THREAD_COUNT, 0, TimeUnit.MILLISECONDS,
|
||||
new LinkedBlockingQueue<Runnable>(), new Utils.PicassoThreadFactory());
|
||||
}
|
||||
|
||||
void adjustThreadCount(NetworkInfo info) {
|
||||
if (info == null || !info.isConnectedOrConnecting()) {
|
||||
setThreadCount(DEFAULT_THREAD_COUNT);
|
||||
return;
|
||||
}
|
||||
switch (info.getType()) {
|
||||
case ConnectivityManager.TYPE_WIFI:
|
||||
case ConnectivityManager.TYPE_WIMAX:
|
||||
case ConnectivityManager.TYPE_ETHERNET:
|
||||
setThreadCount(4);
|
||||
break;
|
||||
case ConnectivityManager.TYPE_MOBILE:
|
||||
switch (info.getSubtype()) {
|
||||
case TelephonyManager.NETWORK_TYPE_LTE: // 4G
|
||||
case TelephonyManager.NETWORK_TYPE_HSPAP:
|
||||
case TelephonyManager.NETWORK_TYPE_EHRPD:
|
||||
setThreadCount(3);
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_UMTS: // 3G
|
||||
case TelephonyManager.NETWORK_TYPE_CDMA:
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_0:
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_A:
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_B:
|
||||
setThreadCount(2);
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_GPRS: // 2G
|
||||
case TelephonyManager.NETWORK_TYPE_EDGE:
|
||||
setThreadCount(1);
|
||||
break;
|
||||
default:
|
||||
setThreadCount(DEFAULT_THREAD_COUNT);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
setThreadCount(DEFAULT_THREAD_COUNT);
|
||||
}
|
||||
}
|
||||
|
||||
private void setThreadCount(int threadCount) {
|
||||
setCorePoolSize(threadCount);
|
||||
setMaximumPoolSize(threadCount);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue