Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb839f37 authored by Daniel Zheng's avatar Daniel Zheng
Browse files

TIMService: getHingeCount

Flag: com.android.tradeinmode.flags.trade_in_mode_2025q4
Test: th
Change-Id: I6fecbb8c320c723079f4865a16e2e26fa4455f63
parent 7aa54bb1
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -92,4 +92,9 @@ interface ITradeInMode {
     * ENTER_TRADE_IN_MODE permission is required and ro.debuggable must be 1.
     */
    boolean isTesting();
    /**
     * Get HingeCount on device
     *
     */
    int getHingeCount();
}
+8 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.net.NetworkRequest;
import android.net.Uri;
import android.os.Binder;
import android.os.ITradeInMode;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.os.RemoteException;
import android.provider.Settings;
@@ -247,6 +248,13 @@ public final class TradeInModeService extends SystemService {
            return isForceEnabledForTesting();
        }

        @Override
        @RequiresPermission(android.Manifest.permission.ENTER_TRADE_IN_MODE)
        public int getHingeCount() throws RemoteException {
            android.hardware.health.HingeInfo[] info = getHealthService().getHingeInfo();
            return (info == null) ? 0 : info.length;
        }

        private void enforceTestingPermissions() {
            mContext.enforceCallingOrSelfPermission("android.permission.ENTER_TRADE_IN_MODE",
                    "Caller must have ENTER_TRADE_IN_MODE permission");