Merge "Add ring indicator for battery level" into main
This commit is contained in:
@@ -39,6 +39,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -46,6 +47,7 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.flags.Flags;
|
||||
import com.android.settings.fuelgauge.BatteryMeterView;
|
||||
import com.android.settingslib.bluetooth.BluetoothUtils;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
@@ -456,18 +458,24 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
|
||||
com.android.settings.Utils.formatPercentage(batteryLevel));
|
||||
batterySummaryView.setVisibility(View.VISIBLE);
|
||||
showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
|
||||
showBatteryRing(linearLayout, batteryLevel);
|
||||
} else {
|
||||
if (deviceId == MAIN_DEVICE_ID) {
|
||||
linearLayout.setVisibility(View.VISIBLE);
|
||||
linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
|
||||
|
||||
int level = preloadedNativeBatteryLevel.get();
|
||||
if (level != BluetoothDevice.BATTERY_LEVEL_UNKNOWN
|
||||
&& level != BluetoothDevice.BATTERY_LEVEL_BLUETOOTH_OFF) {
|
||||
batterySummaryView.setText(
|
||||
com.android.settings.Utils.formatPercentage(level));
|
||||
batterySummaryView.setVisibility(View.VISIBLE);
|
||||
showBatteryRing(linearLayout, level);
|
||||
} else {
|
||||
batterySummaryView.setVisibility(View.GONE);
|
||||
if (Flags.enableBluetoothDeviceDetailsPolish()) {
|
||||
linearLayout.findViewById(R.id.battery_ring).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Hide it if it doesn't have battery information
|
||||
@@ -481,6 +489,7 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
|
||||
com.android.settings.Utils.formatPercentage(batteryLevel));
|
||||
batterySummaryView.setVisibility(View.VISIBLE);
|
||||
showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
|
||||
showBatteryRing(linearLayout, batteryLevel);
|
||||
} else {
|
||||
batterySummaryView.setVisibility(View.GONE);
|
||||
}
|
||||
@@ -610,6 +619,14 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
|
||||
imageView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
private void showBatteryRing(LinearLayout linearLayout, int level) {
|
||||
if (Flags.enableBluetoothDeviceDetailsPolish()) {
|
||||
ProgressBar batteryProgress = linearLayout.findViewById(R.id.battery_ring);
|
||||
batteryProgress.setProgress(level);
|
||||
batteryProgress.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateDisconnectLayout() {
|
||||
mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE);
|
||||
mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE);
|
||||
@@ -620,6 +637,9 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
|
||||
linearLayout.findViewById(R.id.header_title).setVisibility(View.GONE);
|
||||
linearLayout.findViewById(R.id.bt_battery_summary).setVisibility(View.GONE);
|
||||
linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
|
||||
if (Flags.enableBluetoothDeviceDetailsPolish()) {
|
||||
linearLayout.findViewById(R.id.battery_ring).setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
// Only show bluetooth icon
|
||||
final BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
|
||||
|
Reference in New Issue
Block a user