package com.android.systemui.statusbar.policy;
import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.PowerManager;
import android.util.Log;
import android.util.Slog;
import com.android.systemui.DemoMode;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//Added by guanxiubiao for KSSSSZEN-32 20171207 start
import com.xchengtech.ProjectConfig;
import android.os.Vibrator;
//Added by guanxiubiao for KSSSSZEN-32 20171207 end
//xcsw minjiawei battery work mode start
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.ComponentName;
import android.os.BatteryManager;
import com.xchengtech.ProjectConfig;
import android.provider.Settings;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;
import android.app.AlarmManager;
import android.app.PendingIntent;
//xcsw minjiawei battery work mode end
//XCSW wenjie.gu add for battery mode start
import android.os.SystemClock;
//XCSW wenjie.gu add for battery mode end
/**
* Default implementation of a {@link BatteryController}. This controller monitors for battery
* level change events that are broadcasted by the system.
*/
public class BatteryControllerImpl extends BroadcastReceiver implements BatteryController {
private static final String TAG = "BatteryController";
public static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST";
//xcsw minjiawei battery work mode start
private final static String POWER_PATH = "/sys/devices/platform/xc_battery_ctrl/xc_charge_powerpath_en";
private final static String BATTERY_SMARTINFO_PATH = "/sys/devices/platform/xc_battery_ctrl/xc_bat_protect_en";
private final static String VOLTAGE_PATH = "/sys/devices/platform/xc_battery_ctrl/xc_get_vbat";
//xcsw minjiawei battery work mode end
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
private final ArrayList<BatteryController.BatteryStateChangeCallback> mChangeCallbacks = new ArrayList<>();
private final PowerManager mPowerManager;
private final Handler mHandler;
private final Context mContext;
protected int mLevelBatteryControllerImpl.java
发布时间 2023-06-13 19:56:33作者: 一颗苹果!!