parent
							
								
									b67ff4ca11
								
							
						
					
					
						commit
						aac060b9bb
					
				| @ -1,228 +0,0 @@ | ||||
| /* | ||||
|  * Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
 | ||||
|  * | ||||
|  * 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.arialyy.aria.util; | ||||
| 
 | ||||
| import android.util.Log; | ||||
| import com.arialyy.aria.core.AriaManager; | ||||
| import java.io.File; | ||||
| import java.io.IOException; | ||||
| import java.util.Map; | ||||
| import java.util.Properties; | ||||
| import java.util.Set; | ||||
| import java.util.WeakHashMap; | ||||
| 
 | ||||
| /** | ||||
|  * Created by AriaL on 2016/12/8. | ||||
|  * 信息配置 | ||||
|  */ | ||||
| public class Configuration_1 { | ||||
|   private static final String TAG = "Configuration_1"; | ||||
|   private static final String CONFIG_FILE = "/Aria/ADConfig.properties"; | ||||
|   /** | ||||
|    * 当前调度器最大下载数,默认最大下载数为 “2” | ||||
|    */ | ||||
|   private static final String DOWNLOAD_NUM = "DOWNLOAD_NUM"; | ||||
|   /** | ||||
|    * 失败重试次数,默认最多重试 10 次 | ||||
|    */ | ||||
|   private static final String RE_TRY_NUM = "RE_TRY_NUM"; | ||||
|   /** | ||||
|    * 是否打开下载广播,默认 false | ||||
|    */ | ||||
|   private static final String OPEN_BROADCAST = "OPEN_BROADCAST"; | ||||
|   /** | ||||
|    * 失败重试间隔时间,默认 4000 ms | ||||
|    */ | ||||
|   private static final String RE_TRY_INTERVAL = "RE_TRY_INTERVAL"; | ||||
|   /** | ||||
|    * 超时时间,默认 10000 ms | ||||
|    */ | ||||
|   private static final String DOWNLOAD_TIME_OUT = "DOWNLOAD_TIME_OUT"; | ||||
|   /** | ||||
|    * 设置最大速度 | ||||
|    */ | ||||
|   private static final String MAX_SPEED = "MAX_SPEED"; | ||||
| 
 | ||||
|   public static boolean isOpenBreadCast = false; | ||||
| 
 | ||||
|   private static Configuration_1 INSTANCE = null; | ||||
|   private File mConfigFile = null; | ||||
|   private static final Object LOCK = new Object(); | ||||
| 
 | ||||
|   public static Configuration_1 getInstance() { | ||||
|     if (INSTANCE == null) { | ||||
|       synchronized (LOCK) { | ||||
|         INSTANCE = new Configuration_1(); | ||||
|       } | ||||
|     } | ||||
|     return INSTANCE; | ||||
|   } | ||||
| 
 | ||||
|   private Configuration_1() { | ||||
|     mConfigFile = new File(AriaManager.APP.getFilesDir().getPath() + CONFIG_FILE); | ||||
|     try { | ||||
|       if (!mConfigFile.exists()) { | ||||
|         mConfigFile.getParentFile().mkdirs(); | ||||
|         mConfigFile.createNewFile(); | ||||
|         init(); | ||||
|       } else { | ||||
|         isOpenBreadCast = isOpenBroadcast(); | ||||
|       } | ||||
|     } catch (IOException e) { | ||||
|       e.printStackTrace(); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private void init() { | ||||
|     Map<String, String> config = new WeakHashMap<>(); | ||||
|     config.put(DOWNLOAD_NUM, 2 + ""); | ||||
|     config.put(RE_TRY_NUM, 10 + ""); | ||||
|     config.put(OPEN_BROADCAST, false + ""); | ||||
|     config.put(RE_TRY_INTERVAL, 4000 + ""); | ||||
|     config.put(DOWNLOAD_TIME_OUT, 10000 + ""); | ||||
|     config.put(MAX_SPEED, 64 + ""); | ||||
|     saveConfig(config); | ||||
|   } | ||||
| 
 | ||||
|   private void saveConfig(Map<String, String> config) { | ||||
|     if (config == null || config.size() == 0) { | ||||
|       return; | ||||
|     } | ||||
|     Properties properties = CommonUtil.loadConfig(mConfigFile); | ||||
|     Set<String> keys = config.keySet(); | ||||
|     for (String key : keys) { | ||||
|       properties.setProperty(key, config.get(key)); | ||||
|     } | ||||
|     CommonUtil.saveConfig(mConfigFile, properties); | ||||
|   } | ||||
| 
 | ||||
|   private void save(String key, String value) { | ||||
|     Map<String, String> map = new WeakHashMap<>(); | ||||
|     map.put(key, value); | ||||
|     saveConfig(map); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置最大下载速度 | ||||
|    */ | ||||
|   public void setMaxSpeed(Speed speed) { | ||||
|     save(MAX_SPEED, speed.buf + ""); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 获取最大速度 | ||||
|    */ | ||||
|   public int getMaxSpeed() { | ||||
|     return Integer.parseInt(CommonUtil.loadConfig(mConfigFile).getProperty(MAX_SPEED, "8192")); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 获取下载超时时间 | ||||
|    * | ||||
|    * @return 默认4000ms | ||||
|    */ | ||||
|   public int getTimeOut() { | ||||
|     return Integer.parseInt(CommonUtil.loadConfig(mConfigFile).getProperty(DOWNLOAD_TIME_OUT)); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置重试间隔 | ||||
|    */ | ||||
|   public void setTimeOut(int timeOut) { | ||||
|     if (timeOut < 10000) { | ||||
|       Log.w(TAG, "下载超时时间不能小于 10000 ms"); | ||||
|       return; | ||||
|     } | ||||
|     save(DOWNLOAD_TIME_OUT, timeOut + ""); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 获取失败重试间隔时间 | ||||
|    * | ||||
|    * @return 默认4000ms | ||||
|    */ | ||||
|   public int getReTryInterval() { | ||||
|     return Integer.parseInt(CommonUtil.loadConfig(mConfigFile).getProperty(RE_TRY_INTERVAL)); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置重试间隔 | ||||
|    */ | ||||
|   public void setReTryInterval(int reTryInterval) { | ||||
|     if (reTryInterval < 4000) { | ||||
|       Log.w(TAG, "重试间隔不能小于4000ms"); | ||||
|       return; | ||||
|     } | ||||
|     save(RE_TRY_INTERVAL, reTryInterval + ""); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 获取最大下载数 | ||||
|    * | ||||
|    * @return 默认返回2 | ||||
|    */ | ||||
|   public int getDownloadNum() { | ||||
|     return Integer.parseInt(CommonUtil.loadConfig(mConfigFile).getProperty(DOWNLOAD_NUM)); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置最大下载数 | ||||
|    */ | ||||
|   public void setDownloadNum(int downloadNum) { | ||||
|     if (downloadNum < 1) { | ||||
|       Log.w(TAG, "最大下载数不能小于1"); | ||||
|       return; | ||||
|     } | ||||
|     save(DOWNLOAD_NUM, downloadNum + ""); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 获取最大重试数 | ||||
|    * | ||||
|    * @return 默认返回 10 | ||||
|    */ | ||||
|   public int getReTryNum() { | ||||
|     return Integer.parseInt(CommonUtil.loadConfig(mConfigFile).getProperty(RE_TRY_NUM)); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置重试数 | ||||
|    */ | ||||
|   public void setReTryNum(int reTryNum) { | ||||
|     if (reTryNum < 1) { | ||||
|       Log.w(TAG, "最大下载数不能小于1"); | ||||
|       return; | ||||
|     } | ||||
|     save(RE_TRY_NUM, reTryNum + ""); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 是否打开下载广播 | ||||
|    * | ||||
|    * @return 默认false | ||||
|    */ | ||||
|   public boolean isOpenBroadcast() { | ||||
|     return Boolean.parseBoolean(CommonUtil.loadConfig(mConfigFile).getProperty(RE_TRY_NUM)); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * 设置是否打开下载广播 | ||||
|    */ | ||||
|   public void setOpenBroadcast(boolean openBroadcast) { | ||||
|     isOpenBreadCast = openBroadcast; | ||||
|     save(OPEN_BROADCAST, openBroadcast + ""); | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue