Skip to content

Commit f7ed73c

Browse files
committed
Use new APIs for granting permissions during testing on Marshmallow and above
1 parent 082fefd commit f7ed73c

9 files changed

Lines changed: 37 additions & 19 deletions

app/build.gradle

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -178,24 +178,6 @@ afterEvaluate {
178178
initCrashlyticsPropertiesIfNeeded()
179179
}
180180

181-
android.productFlavors.all { flavour ->
182-
def applicationId = flavour.applicationId
183-
def adb = android.getAdbExe().toString()
184-
185-
def grantPermissionsTask = tasks.create("grant${flavour.name.capitalize()}Permissions") << {
186-
"${adb} shell pm grant ${applicationId} android.permission.WRITE_EXTERNAL_STORAGE".execute()
187-
"${adb} shell pm grant ${applicationId} android.permission.SET_ANIMATION_SCALE".execute()
188-
}
189-
grantPermissionsTask.description = "Grants permissions for Marshmallow"
190-
191-
tasks.whenTaskAdded { theTask ->
192-
def assemblePattern = ~"assemble${flavour.name.capitalize()}DebugAndroidTest"
193-
if (assemblePattern.matcher(theTask.name).matches()) {
194-
theTask.dependsOn grantPermissionsTask.name
195-
}
196-
}
197-
}
198-
199181

200182
def androidSupportVersion = "26.0.1"
201183
def androidEspressoVersion = "3.0.0"

app/src/androidTest/java/org/gnucash/android/test/ui/AccountsActivityTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.gnucash.android.test.ui;
1818

19+
import android.Manifest;
1920
import android.annotation.TargetApi;
2021
import android.content.Context;
2122
import android.content.Intent;
@@ -27,6 +28,7 @@
2728
import android.support.test.espresso.Espresso;
2829
import android.support.test.espresso.matcher.ViewMatchers;
2930
import android.support.test.rule.ActivityTestRule;
31+
import android.support.test.rule.GrantPermissionRule;
3032
import android.support.test.runner.AndroidJUnit4;
3133
import android.support.v4.app.Fragment;
3234
import android.util.Log;
@@ -116,6 +118,9 @@ public AccountsActivityTest() {
116118
// super(AccountsActivity.class);
117119
}
118120

121+
122+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
123+
119124
@ClassRule public static DisableAnimationsRule disableAnimationsRule = new DisableAnimationsRule();
120125

121126
@Rule

app/src/androidTest/java/org/gnucash/android/test/ui/CalculatorEditTextTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616

1717
package org.gnucash.android.test.ui;
1818

19+
import android.Manifest;
1920
import android.content.Intent;
2021
import android.database.SQLException;
2122
import android.database.sqlite.SQLiteDatabase;
2223
import android.support.test.rule.ActivityTestRule;
24+
import android.support.test.rule.GrantPermissionRule;
2325
import android.support.test.runner.AndroidJUnit4;
2426
import android.util.Log;
2527

@@ -72,6 +74,9 @@ public class CalculatorEditTextTest {
7274
public CalculatorEditTextTest() {
7375
}
7476

77+
78+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
79+
7580
@ClassRule
7681
public static DisableAnimationsRule disableAnimationsRule = new DisableAnimationsRule();
7782

app/src/androidTest/java/org/gnucash/android/test/ui/ExportTransactionsTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import android.support.test.espresso.Espresso;
2929
import android.support.test.espresso.contrib.DrawerActions;
3030
import android.support.test.espresso.matcher.ViewMatchers;
31+
import android.support.test.rule.GrantPermissionRule;
3132
import android.support.test.runner.AndroidJUnit4;
3233
import android.support.v7.preference.PreferenceManager;
3334
import android.test.ActivityInstrumentationTestCase2;
@@ -59,6 +60,7 @@
5960
import org.junit.After;
6061
import org.junit.Before;
6162
import org.junit.FixMethodOrder;
63+
import org.junit.Rule;
6264
import org.junit.Test;
6365
import org.junit.runner.RunWith;
6466
import org.junit.runners.MethodSorters;
@@ -95,7 +97,9 @@ public class ExportTransactionsTest extends
9597

9698
private AccountsActivity mAcccountsActivity;
9799

98-
public ExportTransactionsTest() {
100+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
101+
102+
public ExportTransactionsTest() {
99103
super(AccountsActivity.class);
100104
}
101105

app/src/androidTest/java/org/gnucash/android/test/ui/FirstRunWizardActivityTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@
1515
*/
1616
package org.gnucash.android.test.ui;
1717

18+
import android.Manifest;
1819
import android.database.SQLException;
1920
import android.database.sqlite.SQLiteDatabase;
2021
import android.support.test.InstrumentationRegistry;
22+
import android.support.test.rule.GrantPermissionRule;
2123
import android.support.test.runner.AndroidJUnit4;
2224
import android.test.ActivityInstrumentationTestCase2;
2325
import android.util.Log;
@@ -31,6 +33,7 @@
3133
import org.gnucash.android.model.BaseModel;
3234
import org.gnucash.android.ui.wizard.FirstRunWizardActivity;
3335
import org.junit.Before;
36+
import org.junit.Rule;
3437
import org.junit.Test;
3538
import org.junit.runner.RunWith;
3639

@@ -56,6 +59,9 @@ public class FirstRunWizardActivityTest extends ActivityInstrumentationTestCase2
5659
private SplitsDbAdapter mSplitsDbAdapter;
5760

5861
FirstRunWizardActivity mActivity;
62+
63+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
64+
5965
public FirstRunWizardActivityTest() {
6066
super(FirstRunWizardActivity.class);
6167
}

app/src/androidTest/java/org/gnucash/android/test/ui/MultiBookTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@
1515
*/
1616
package org.gnucash.android.test.ui;
1717

18+
import android.Manifest;
1819
import android.support.test.espresso.contrib.DrawerActions;
1920
import android.support.test.espresso.intent.Intents;
2021
import android.support.test.espresso.intent.rule.IntentsTestRule;
22+
import android.support.test.rule.GrantPermissionRule;
2123
import android.support.test.runner.AndroidJUnit4;
2224

2325
import org.gnucash.android.R;
@@ -54,6 +56,8 @@ public class MultiBookTest {
5456

5557
private static BooksDbAdapter mBooksDbAdapter;
5658

59+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
60+
5761
@ClassRule
5862
public static DisableAnimationsRule disableAnimationsRule = new DisableAnimationsRule();
5963

app/src/androidTest/java/org/gnucash/android/test/ui/OwnCloudExportTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.gnucash.android.test.ui;
1818

19+
import android.Manifest;
1920
import android.content.Context;
2021
import android.content.SharedPreferences;
2122
import android.database.SQLException;
@@ -25,6 +26,7 @@
2526
import android.support.test.espresso.Espresso;
2627
import android.support.test.espresso.contrib.DrawerActions;
2728
import android.support.test.rule.ActivityTestRule;
29+
import android.support.test.rule.GrantPermissionRule;
2830
import android.support.test.runner.AndroidJUnit4;
2931
import android.test.ActivityInstrumentationTestCase2;
3032
import android.util.Log;
@@ -97,6 +99,8 @@ public class OwnCloudExportTest {
9799
AccountsActivity.class);
98100

99101

102+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
103+
100104
@Before
101105
public void setUp() throws Exception {
102106

app/src/androidTest/java/org/gnucash/android/test/ui/PieChartReportTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616

1717
package org.gnucash.android.test.ui;
1818

19+
import android.Manifest;
1920
import android.content.Context;
2021
import android.support.test.espresso.ViewAction;
2122
import android.support.test.espresso.action.CoordinatesProvider;
2223
import android.support.test.espresso.action.GeneralClickAction;
2324
import android.support.test.espresso.action.Press;
2425
import android.support.test.espresso.action.Tap;
2526
import android.support.test.rule.ActivityTestRule;
27+
import android.support.test.rule.GrantPermissionRule;
2628
import android.support.test.runner.AndroidJUnit4;
2729
import android.view.View;
2830

@@ -101,6 +103,8 @@ public class PieChartReportTest {
101103
@Rule
102104
public ActivityTestRule<ReportsActivity> mActivityRule = new ActivityTestRule<>(ReportsActivity.class);
103105

106+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
107+
104108
@ClassRule
105109
public static DisableAnimationsRule disableAnimationsRule = new DisableAnimationsRule();
106110

app/src/androidTest/java/org/gnucash/android/test/ui/TransactionsActivityTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616

1717
package org.gnucash.android.test.ui;
1818

19+
import android.Manifest;
1920
import android.content.ContentValues;
2021
import android.content.Context;
2122
import android.content.Intent;
2223
import android.content.SharedPreferences;
2324
import android.content.SharedPreferences.Editor;
2425
import android.support.test.espresso.Espresso;
2526
import android.support.test.rule.ActivityTestRule;
27+
import android.support.test.rule.GrantPermissionRule;
2628
import android.support.test.runner.AndroidJUnit4;
2729

2830
import org.gnucash.android.R;
@@ -97,6 +99,8 @@ public class TransactionsActivityTest {
9799
private static SplitsDbAdapter mSplitsDbAdapter;
98100
private TransactionsActivity mTransactionsActivity;
99101

102+
@Rule public GrantPermissionRule animationPermissionsRule = GrantPermissionRule.grant(Manifest.permission.SET_ANIMATION_SCALE);
103+
100104
@ClassRule
101105
public static DisableAnimationsRule disableAnimationsRule = new DisableAnimationsRule();
102106

0 commit comments

Comments
 (0)