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

Commit 32ca9b27 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Settings performance testing"

parents 9e974afd bc1618f5
Loading
Loading
Loading
Loading
+34 −3
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ public class LaunchSettingsTest {
    private Instrumentation mInstrumentation;
    private Map<String, ArrayList<Integer>> mResult;
    private String mDefaultScreenTimeout;
    private String mDefaultAirplaneModeStatus;

    @Before
    public void setUp() throws Exception {
@@ -88,7 +89,9 @@ public class LaunchSettingsTest {
        mResult = new LinkedHashMap<>();
        mDefaultScreenTimeout = mDevice.executeShellCommand(
                "settings get system screen_off_timeout");
        mDefaultAirplaneModeStatus = getAirplaneModeStatus();
        setScreenTimeOut(SCREEN_TIME_OUT);
        setAirplaneMode();
        mDevice.pressHome();
        mDevice.waitForIdle(TIME_OUT);

@@ -102,6 +105,7 @@ public class LaunchSettingsTest {
        putResultToBundle();
        mInstrumentation.sendStatus(0, mBundle);
        resetScreenTimeout();
        resetAirplaneMode();
        closeApp();
    }

@@ -123,12 +127,12 @@ public class LaunchSettingsTest {
        handleLaunchResult(title, mString);
    }

    private void handleLaunchResult(String title, String s) {
        Matcher mMatcher = PATTERN.matcher(s);
    private void handleLaunchResult(String title, String shellCommandResult) {
        Matcher mMatcher = PATTERN.matcher(shellCommandResult);
        if (mMatcher.find()) {
            mResult.get(title).add(Integer.valueOf(mMatcher.group().split("\\s")[1]));
        } else {
            fail("Some pages can't be found");
            fail(String.format("Not found %s.\n %s", title, shellCommandResult));
        }
    }

@@ -145,6 +149,10 @@ public class LaunchSettingsTest {
                    getMin(mResult.get(string)));
            mBundle.putString(String.format("LaunchSettingsTest_%s_%s", string, "avg"),
                    getAvg(mResult.get(string)));
            mBundle.putString(String.format("LaunchSettingsTest_%s_%s", string, "all_results"),
                    mResult.get(string).toString());
            mBundle.putString(String.format("LaunchSettingsTest_%s_%s", string, "results_count"),
                    String.valueOf(mResult.get(string).size()));
        }
    }

@@ -171,4 +179,27 @@ public class LaunchSettingsTest {
        }
        setScreenTimeOut(timeout);
    }

    private void setAirplaneMode() throws Exception {
        if (mDefaultAirplaneModeStatus.equals("0\n")) {
            clickAirplaneMode();
        }
    }

    private void resetAirplaneMode() throws Exception {
        if (!getAirplaneModeStatus().equals(mDefaultAirplaneModeStatus)) {
            clickAirplaneMode();
        }
    }

    private void clickAirplaneMode() throws Exception {
        mDevice.executeShellCommand("am start -W -a android.settings.AIRPLANE_MODE_SETTINGS");
        mDevice.waitForIdle(TIME_OUT);
        mDevice.findObject(By.textContains("Airplane")).click();
        mDevice.waitForIdle(TIME_OUT);
    }

    private String getAirplaneModeStatus() throws Exception {
        return mDevice.executeShellCommand("settings get global airplane_mode_on");
    }
}
 No newline at end of file