Skip to content

Commit b21e807

Browse files
committed
Merge new-version
2 parents 6540da2 + c00e76f commit b21e807

File tree

75 files changed

+691
-593
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+691
-593
lines changed

app/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ext {
55
// 1 or more digits
66
versionMajor = 6
77
// exactly 1 digit
8-
versionMinor = 0
8+
versionMinor = 1
99
// exactly 2 digits
1010
versionBuild = 00
1111
}
@@ -17,7 +17,7 @@ android {
1717
defaultConfig {
1818
applicationId "com.afwsamples.testdpc"
1919
minSdkVersion 21
20-
targetSdkVersion 'Q'
20+
targetSdkVersion 29
2121
versionCode versionMajor * 1000 + versionMinor * 100 + versionBuild
2222
versionName "${versionMajor}.${versionMinor}.${versionBuild}"
2323
multiDexEnabled true
@@ -120,6 +120,7 @@ private void stripTestOnlyForBuild(flavor, buildType) {
120120
}
121121

122122
dependencies {
123+
implementation 'androidx.enterprise:enterprise-feedback:1.0.0-alpha01'
123124
implementation 'com.android.support:multidex:1.0.1'
124125
implementation 'com.android.support:preference-v14:28.0.0-alpha1'
125126
implementation 'com.android.support:recyclerview-v7:28.0.0-alpha1'

app/src/main/AndroidManifest.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,12 @@
197197
</intent-filter>
198198
</service>
199199

200+
<service android:name=".feedback.AppStatesService">
201+
<intent-filter>
202+
<action android:name="androidx.enterprise.feedback.action.APP_STATES" />
203+
</intent-filter>
204+
</service>
205+
200206
</application>
201207

202208
</manifest>

app/src/main/java/com/afwsamples/testdpc/AddAccountActivity.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@
2828
import android.content.ComponentName;
2929
import android.content.Context;
3030
import android.content.Intent;
31+
import android.os.Build.VERSION_CODES;
3132
import android.os.Bundle;
3233
import android.os.UserManager;
33-
import android.support.v4.os.BuildCompat;
3434
import android.text.TextUtils;
3535
import android.util.Log;
3636
import android.view.View;
3737
import android.widget.EditText;
3838
import android.widget.RadioGroup;
3939
import android.widget.Toast;
40+
import com.afwsamples.testdpc.common.Util;
4041
import com.android.setupwizardlib.GlifLayout;
4142
import java.io.IOException;
4243

@@ -122,7 +123,7 @@ private void addAccount(String accountName) {
122123
}
123124

124125
private void disableUserRestrictions() {
125-
if (BuildCompat.isAtLeastN()) {
126+
if (Util.SDK_INT >= VERSION_CODES.N) {
126127
// DPC is allowed to bypass DISALLOW_MODIFY_ACCOUNTS on N or above.
127128
Log.v(TAG, "skip disabling user restriction on N or above");
128129
return;
@@ -135,7 +136,7 @@ private void disableUserRestrictions() {
135136
}
136137

137138
private void restoreUserRestrictions() {
138-
if (BuildCompat.isAtLeastN()) {
139+
if (Util.SDK_INT >= VERSION_CODES.N) {
139140
// DPC is allowed to bypass DISALLOW_MODIFY_ACCOUNTS on N or above.
140141
Log.v(TAG, "skip restoring user restrictions on N or above");
141142
return;

app/src/main/java/com/afwsamples/testdpc/BootReceiver.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import android.content.Intent;
2222
import android.os.Process;
2323
import android.os.UserHandle;
24-
2524
import com.afwsamples.testdpc.common.Util;
2625
import com.afwsamples.testdpc.comp.BindDeviceAdminServiceHelper;
2726
import com.afwsamples.testdpc.comp.DeviceOwnerService;

app/src/main/java/com/afwsamples/testdpc/CommonReceiverOperations.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,22 @@
1616

1717
package com.afwsamples.testdpc;
1818

19+
import static com.afwsamples.testdpc.policy.PolicyManagementFragment.OVERRIDE_KEY_SELECTION_KEY;
20+
1921
import android.annotation.TargetApi;
2022
import android.app.admin.DevicePolicyManager;
2123
import android.app.admin.NetworkEvent;
2224
import android.content.ComponentName;
2325
import android.content.Context;
2426
import android.os.AsyncTask;
2527
import android.os.Build;
28+
import android.os.Build.VERSION_CODES;
2629
import android.os.Process;
2730
import android.preference.PreferenceManager;
28-
import android.support.v4.os.BuildCompat;
2931
import android.text.TextUtils;
3032
import android.util.Log;
3133
import android.widget.Toast;
32-
34+
import com.afwsamples.testdpc.common.Util;
3335
import java.io.File;
3436
import java.io.FileOutputStream;
3537
import java.io.IOException;
@@ -38,8 +40,6 @@
3840
import java.util.Date;
3941
import java.util.List;
4042

41-
import static com.afwsamples.testdpc.policy.PolicyManagementFragment.OVERRIDE_KEY_SELECTION_KEY;
42-
4343
/**
4444
* A class that implements common logic to handle direct and delegated admin callbacks
4545
* from DeviceAdminReceiver and DelegatedAdminReceiver.
@@ -65,7 +65,7 @@ public static String onChoosePrivateKeyAlias(Context context, int uid) {
6565
}
6666
}
6767

68-
@TargetApi(Build.VERSION_CODES.O)
68+
@TargetApi(VERSION_CODES.O)
6969
public static void onNetworkLogsAvailable(Context context, ComponentName admin, long batchToken,
7070
int networkLogsCount) {
7171
Log.i(TAG, "onNetworkLogsAvailable(), batchToken: " + batchToken
@@ -93,7 +93,7 @@ public static void onNetworkLogsAvailable(Context context, ComponentName admin,
9393
context.getString(R.string.on_network_logs_available_success, batchToken));
9494

9595
ArrayList<String> loggedEvents = new ArrayList<>();
96-
if (BuildCompat.isAtLeastP()) {
96+
if (Util.SDK_INT >= VERSION_CODES.P) {
9797
for (NetworkEvent event : events) {
9898
loggedEvents.add(event.toString());
9999
}

app/src/main/java/com/afwsamples/testdpc/CrossProfileAppsFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.app.Fragment;
55
import android.content.ComponentName;
66
import android.content.pm.CrossProfileApps;
7+
import android.os.Build.VERSION_CODES;
78
import android.os.Bundle;
89
import android.os.UserHandle;
910
import android.view.LayoutInflater;
@@ -13,8 +14,7 @@
1314
import android.widget.TextView;
1415
import java.util.List;
1516

16-
// TODO: Replace it with P.
17-
@TargetApi(28)
17+
@TargetApi(VERSION_CODES.P)
1818
public class CrossProfileAppsFragment extends Fragment {
1919
private static final String TAG = "CrossProfileAppsFragmen";
2020

app/src/main/java/com/afwsamples/testdpc/DelegatedAdminReceiver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import android.content.Context;
2121
import android.content.Intent;
2222
import android.net.Uri;
23-
import android.os.Build;
23+
import android.os.Build.VERSION_CODES;
2424

25-
@TargetApi(Build.VERSION_CODES.Q)
25+
@TargetApi(VERSION_CODES.Q)
2626
public class DelegatedAdminReceiver extends android.app.admin.DelegatedAdminReceiver {
2727

2828
@Override

app/src/main/java/com/afwsamples/testdpc/DeviceAdminReceiver.java

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,17 @@
2626
import android.net.Uri;
2727
import android.os.AsyncTask;
2828
import android.os.Binder;
29-
import android.os.Build;
29+
import android.os.Build.VERSION_CODES;
3030
import android.os.ParcelFileDescriptor;
3131
import android.os.PersistableBundle;
3232
import android.os.Process;
3333
import android.os.UserHandle;
3434
import android.os.UserManager;
3535
import android.support.v4.app.NotificationCompat;
36-
import android.support.v4.os.BuildCompat;
3736
import android.util.Log;
3837
import android.widget.Toast;
3938
import com.afwsamples.testdpc.common.NotificationUtil;
4039
import com.afwsamples.testdpc.common.Util;
41-
import com.afwsamples.testdpc.policy.UserRestriction;
4240
import com.afwsamples.testdpc.provision.PostProvisioningTask;
4341
import java.io.BufferedReader;
4442
import java.io.BufferedWriter;
@@ -92,7 +90,7 @@ public void onReceive(Context context, Intent intent) {
9290
}
9391
}
9492

95-
@TargetApi(Build.VERSION_CODES.N)
93+
@TargetApi(VERSION_CODES.N)
9694
@Override
9795
public void onSecurityLogsAvailable(Context context, Intent intent) {
9896
Log.i(TAG, "onSecurityLogsAvailable() called");
@@ -107,7 +105,7 @@ public void onSecurityLogsAvailable(Context context, Intent intent) {
107105
* TODO: reconsider how to store and present the logs in the future, e.g. save the file into
108106
* internal memory and show the content in a ListView
109107
*/
110-
@TargetApi(Build.VERSION_CODES.O)
108+
@TargetApi(VERSION_CODES.O)
111109
@Override
112110
public void onNetworkLogsAvailable(Context context, Intent intent, long batchToken,
113111
int networkLogsCount) {
@@ -133,7 +131,7 @@ public void onProfileProvisioningComplete(Context context, Intent intent) {
133131
}
134132
}
135133

136-
@TargetApi(Build.VERSION_CODES.N)
134+
@TargetApi(VERSION_CODES.N)
137135
@Override
138136
public void onBugreportSharingDeclined(Context context, Intent intent) {
139137
Log.i(TAG, "Bugreport sharing declined");
@@ -142,7 +140,7 @@ public void onBugreportSharingDeclined(Context context, Intent intent) {
142140
NotificationUtil.BUGREPORT_NOTIFICATION_ID);
143141
}
144142

145-
@TargetApi(Build.VERSION_CODES.N)
143+
@TargetApi(VERSION_CODES.N)
146144
@Override
147145
public void onBugreportShared(final Context context, Intent intent,
148146
final String bugreportFileHash) {
@@ -190,7 +188,7 @@ protected void onPostExecute(String message) {
190188
}.execute();
191189
}
192190

193-
@TargetApi(Build.VERSION_CODES.N)
191+
@TargetApi(VERSION_CODES.N)
194192
@Override
195193
public void onBugreportFailed(Context context, Intent intent, int failureCode) {
196194
String failureReason;
@@ -212,42 +210,42 @@ public void onBugreportFailed(Context context, Intent intent, int failureCode) {
212210
}
213211

214212

215-
@TargetApi(Build.VERSION_CODES.O)
213+
@TargetApi(VERSION_CODES.O)
216214
@Override
217215
public void onUserAdded(Context context, Intent intent, UserHandle newUser) {
218216
handleUserAction(context, newUser, R.string.on_user_added_title,
219217
R.string.on_user_added_message, NotificationUtil.USER_ADDED_NOTIFICATION_ID);
220218
}
221219

222-
@TargetApi(Build.VERSION_CODES.O)
220+
@TargetApi(VERSION_CODES.O)
223221
@Override
224222
public void onUserRemoved(Context context, Intent intent, UserHandle removedUser) {
225223
handleUserAction(context, removedUser, R.string.on_user_removed_title,
226224
R.string.on_user_removed_message, NotificationUtil.USER_REMOVED_NOTIFICATION_ID);
227225
}
228226

229-
@TargetApi(Build.VERSION_CODES.P)
227+
@TargetApi(VERSION_CODES.P)
230228
@Override
231229
public void onUserStarted(Context context, Intent intent, UserHandle startedUser) {
232230
handleUserAction(context, startedUser, R.string.on_user_started_title,
233231
R.string.on_user_started_message, NotificationUtil.USER_STARTED_NOTIFICATION_ID);
234232
}
235233

236-
@TargetApi(Build.VERSION_CODES.P)
234+
@TargetApi(VERSION_CODES.P)
237235
@Override
238236
public void onUserStopped(Context context, Intent intent, UserHandle stoppedUser) {
239237
handleUserAction(context, stoppedUser, R.string.on_user_stopped_title,
240238
R.string.on_user_stopped_message, NotificationUtil.USER_STOPPED_NOTIFICATION_ID);
241239
}
242240

243-
@TargetApi(Build.VERSION_CODES.P)
241+
@TargetApi(VERSION_CODES.P)
244242
@Override
245243
public void onUserSwitched(Context context, Intent intent, UserHandle switchedUser) {
246244
handleUserAction(context, switchedUser, R.string.on_user_switched_title,
247245
R.string.on_user_switched_message, NotificationUtil.USER_SWITCHED_NOTIFICATION_ID);
248246
}
249247

250-
@TargetApi(Build.VERSION_CODES.M)
248+
@TargetApi(VERSION_CODES.M)
251249
@Override
252250
public void onSystemUpdatePending(Context context, Intent intent, long receivedTime) {
253251
if (receivedTime != -1) {
@@ -260,7 +258,7 @@ public void onSystemUpdatePending(Context context, Intent intent, long receivedT
260258
}
261259
}
262260

263-
@TargetApi(Build.VERSION_CODES.M)
261+
@TargetApi(VERSION_CODES.M)
264262
@Override
265263
public String onChoosePrivateKeyAlias(Context context, Intent intent, int uid, Uri uri,
266264
String alias) {
@@ -281,7 +279,7 @@ public void onPasswordExpiring(Context context, Intent intent) {
281279
onPasswordExpiring(context, intent, Process.myUserHandle());
282280
}
283281

284-
@TargetApi(Build.VERSION_CODES.O)
282+
@TargetApi(VERSION_CODES.O)
285283
// @Override
286284
public void onPasswordExpiring(Context context, Intent intent, UserHandle user) {
287285
if (!Process.myUserHandle().equals(user)) {
@@ -309,7 +307,7 @@ public void onPasswordFailed(Context context, Intent intent) {
309307
onPasswordFailed(context, intent, Process.myUserHandle());
310308
}
311309

312-
@TargetApi(Build.VERSION_CODES.O)
310+
@TargetApi(VERSION_CODES.O)
313311
// @Override
314312
public void onPasswordFailed(Context context, Intent intent, UserHandle user) {
315313
if (!Process.myUserHandle().equals(user)) {
@@ -372,7 +370,7 @@ public void onPasswordSucceeded(Context context, Intent intent) {
372370
onPasswordSucceeded(context, intent, Process.myUserHandle());
373371
}
374372

375-
@TargetApi(Build.VERSION_CODES.O)
373+
@TargetApi(VERSION_CODES.O)
376374
// @Override
377375
public void onPasswordSucceeded(Context context, Intent intent, UserHandle user) {
378376
if (Process.myUserHandle().equals(user)) {
@@ -386,7 +384,7 @@ public void onPasswordChanged(Context context, Intent intent) {
386384
onPasswordChanged(context, intent, Process.myUserHandle());
387385
}
388386

389-
@TargetApi(Build.VERSION_CODES.O)
387+
@TargetApi(VERSION_CODES.O)
390388
// @Override
391389
public void onPasswordChanged(Context context, Intent intent, UserHandle user) {
392390
if (Process.myUserHandle().equals(user)) {
@@ -478,7 +476,7 @@ private static void updatePasswordConstraintNotification(Context context) {
478476
problems.add(context.getText(R.string.password_not_compliant_title));
479477
}
480478

481-
if (um.hasUserRestriction(UserRestriction.DISALLOW_UNIFIED_PASSWORD)
479+
if (um.hasUserRestriction(UserManager.DISALLOW_UNIFIED_PASSWORD)
482480
&& Util.isManagedProfileOwner(context)
483481
&& isUsingUnifiedPassword(context)) {
484482
problems.add(context.getText(R.string.separate_challenge_required_title));
@@ -504,9 +502,9 @@ && isUsingUnifiedPassword(context)) {
504502
}
505503
}
506504

507-
@TargetApi(28)
505+
@TargetApi(VERSION_CODES.P)
508506
private static Boolean isUsingUnifiedPassword(Context context) {
509-
if (!BuildCompat.isAtLeastP()) {
507+
if (Util.SDK_INT < VERSION_CODES.P) {
510508
return false;
511509
}
512510
final DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
@@ -546,7 +544,7 @@ private void onDeviceOwnerChanged(Context context) {
546544
NotificationUtil.DEVICE_OWNER_CHANGED_ID);
547545
}
548546

549-
@TargetApi(Build.VERSION_CODES.P)
547+
@TargetApi(VERSION_CODES.P)
550548
public void onTransferOwnershipComplete(Context context, PersistableBundle bundle) {
551549
Log.i(TAG, "onTransferOwnershipComplete");
552550
NotificationUtil.showNotification(context,
@@ -556,7 +554,7 @@ public void onTransferOwnershipComplete(Context context, PersistableBundle bundl
556554
NotificationUtil.TRANSFER_OWNERSHIP_COMPLETE_ID);
557555
}
558556

559-
@TargetApi(Build.VERSION_CODES.P)
557+
@TargetApi(VERSION_CODES.P)
560558
public void onTransferAffiliatedProfileOwnershipComplete(Context context, UserHandle user) {
561559
Log.i(TAG, "onTransferAffiliatedProfileOwnershipComplete");
562560
NotificationUtil.showNotification(context,

app/src/main/java/com/afwsamples/testdpc/DeviceAdminService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import android.content.BroadcastReceiver;
44
import android.content.Intent;
55
import android.content.IntentFilter;
6-
import android.os.Build;
6+
import android.os.Build.VERSION_CODES;
77
import android.support.annotation.RequiresApi;
88

99
/**
1010
* To allow DPC process to be persistent and foreground.
1111
*
1212
* @see {@link android.app.admin.DeviceAdminService}
1313
*/
14-
@RequiresApi(api = Build.VERSION_CODES.O)
14+
@RequiresApi(api = VERSION_CODES.O)
1515
public class DeviceAdminService extends android.app.admin.DeviceAdminService {
1616

1717
private BroadcastReceiver mPackageChangedReceiver;

app/src/main/java/com/afwsamples/testdpc/FinalizeActivity.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package com.afwsamples.testdpc;
1818

1919
import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
20-
import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
2120

2221
import android.accounts.Account;
2322
import android.accounts.AccountManager;
@@ -30,7 +29,6 @@
3029
import android.widget.Button;
3130
import android.widget.ImageView;
3231
import android.widget.TextView;
33-
3432
import com.afwsamples.testdpc.common.LaunchIntentUtil;
3533
import com.afwsamples.testdpc.common.Util;
3634
import com.afwsamples.testdpc.provision.ProvisioningUtil;

0 commit comments

Comments
 (0)