Skip to content

Commit 7a7c0ad

Browse files
Merge pull request #1635 from microsoft/develop
Version 4.4.4
2 parents 77d230d + 6860074 commit 7a7c0ad

File tree

154 files changed

+5999
-5519
lines changed

Some content is hidden

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

154 files changed

+5999
-5519
lines changed

.github/workflows/codeql.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ jobs:
2020
- name: Checkout repository
2121
uses: actions/checkout@v2
2222

23+
- name: Use Java 11
24+
uses: actions/setup-java@v3
25+
with:
26+
distribution: 'temurin'
27+
java-version: '11'
28+
2329
# Initializes the CodeQL tools for scanning.
2430
- name: Initialize CodeQL
2531
uses: github/codeql-action/init@v1

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# App Center SDK for Android Change Log
22

3+
## Version 4.4.4
4+
5+
### App Center
6+
7+
* **[Fix]** Fix crash when storage is encrypted during direct boot. Please note that settings and pending logs database are not shared between regular and device-protected storage.
8+
9+
### App Center Distribute
10+
11+
* **[Improvement]** Remove optional `SYSTEM_ALERT_WINDOW` permission that was required to automatically restart the app after installing the update.
12+
* **[Improvement]** Add fallback to the old [ACTION_INSTALL_PACKAGE](https://developer.android.com/reference/android/content/Intent#ACTION_INSTALL_PACKAGE) installation method if the update cannot be installed by `PackageInstaller` API (e.g. when MIUI optimizations block installation).
13+
* **[Fix]** Fix possible crash on resume event before initialization.
14+
* **[Fix]** Fix clicks on the download completion notification.
15+
* **[Fix]** Fix ANR on installing large packages.
16+
* **[Fix]** Fix cancellation handling of confirmation dialog for mandatory updates.
17+
* **[Fix]** Fix strict mode issues.
18+
19+
___
20+
321
## Version 4.4.3
422

523
### App Center Crashes

SECURITY.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.6 BLOCK -->
2+
3+
## Security
4+
5+
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/)(
6+
(microsoft edge:https:// fadliwiryawirawan@microsoft.com/en-us/en-ID
7+
8+
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
9+
10+
## Reporting Security Issues
11+
12+
**Please do not report security vulnerabilities through public GitHub issues.**
13+
14+
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
15+
16+
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/msrc/pgp-key-msrc).
17+
18+
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
19+
20+
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
21+
22+
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
23+
* Full paths of source file(s) related to the manifestation of the issue
24+
* The location of the affected source code (tag/branch/commit or direct URL)
25+
* Any special configuration required to reproduce the issue
26+
* Step-by-step instructions to reproduce the issue
27+
* Proof-of-concept or exploit code (if possible)
28+
* Impact of the issue, including how an attacker might exploit the issue
29+
30+
This information will help us triage your report more quickly.
31+
32+
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
33+
34+
## Preferred Languages
35+
36+
We prefer all communications to be in English.
37+
38+
## Policy
39+
40+
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/msrc/cvd).
41+
42+
<!-- END MICROSOFT SECURITY.MD BLOCK -->

apps/sasquatch/src/androidTest/java/com/microsoft/appcenter/sasquatch/activities/CrashesTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
5050
import static androidx.test.espresso.matcher.ViewMatchers.withChild;
5151
import static androidx.test.espresso.matcher.ViewMatchers.withText;
52-
import static android.util.Log.getStackTraceString;
5352
import static com.microsoft.appcenter.sasquatch.activities.utils.EspressoUtils.CHECK_DELAY;
5453
import static com.microsoft.appcenter.sasquatch.activities.utils.EspressoUtils.TOAST_DELAY;
5554
import static com.microsoft.appcenter.sasquatch.activities.utils.EspressoUtils.onToast;

build.gradle

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,21 @@ buildscript {
1818
}
1919

2020
dependencies {
21-
classpath 'com.android.tools.build:gradle:4.0.1'
22-
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
23-
classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.2'
21+
classpath 'com.android.tools.build:gradle:4.2.2'
22+
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
23+
classpath 'gradle.plugin.org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.12.0'
24+
25+
/* Resolves issue of incorrect version use in one of jacoco/android plugin inner tasks (can be removed on AGP 7.2+). */
26+
classpath 'org.jacoco:org.jacoco.core:0.8.3'
27+
classpath 'org.jacoco:org.jacoco.report:0.8.3'
28+
classpath 'org.jacoco:org.jacoco.agent:0.8.3'
2429
}
2530
}
2631

2732
allprojects {
2833
repositories {
2934
google()
3035
mavenCentral()
31-
jcenter {
32-
content {
33-
34-
// https://youtrack.jetbrains.com/issue/IDEA-261387
35-
includeModule("org.jetbrains.trove4j", "trove4j")
36-
}
37-
}
3836
}
3937

4038
tasks.withType(JavaCompile) {
@@ -43,6 +41,18 @@ allprojects {
4341
}
4442

4543
subprojects {
44+
45+
/* Force Jacoco Agent version upgrade (can be removed on AGP 7.2+). */
46+
configurations.all {
47+
resolutionStrategy {
48+
eachDependency { details ->
49+
if ('org.jacoco' == details.requested.group) {
50+
details.useVersion '0.8.3'
51+
}
52+
}
53+
}
54+
}
55+
4656
afterEvaluate { project ->
4757
if (project.hasProperty('android')) {
4858
def config = android.defaultConfig

gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55

66
distributionBase=GRADLE_USER_HOME
7+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.2-bin.zip
78
distributionPath=wrapper/dists
8-
zipStoreBase=GRADLE_USER_HOME
99
zipStorePath=wrapper/dists
10-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
10+
zipStoreBase=GRADLE_USER_HOME

sdk/appcenter-analytics/src/main/java/com/microsoft/appcenter/analytics/Analytics.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,7 @@ private void queuePage(String name, Map<String, String> properties) {
820820
* Implements {@link #enableManualSessionTracker()}.
821821
*/
822822
private synchronized void enableManualSessionTrackerAsync() {
823-
if (mChannel != null) {
823+
if (isStarted()) {
824824
AppCenterLog.debug(AppCenterLog.LOG_TAG, "The manual session tracker state should be set before the App Center start.");
825825
return;
826826
}
@@ -967,7 +967,7 @@ private void setDefaultTransmissionTarget(String transmissionTargetToken) {
967967
* @return <code>true</code> if the interval is set, <code>false</code> otherwise.
968968
*/
969969
private boolean setInstanceTransmissionInterval(int seconds) {
970-
if (mChannel != null) {
970+
if (isStarted()) {
971971
AppCenterLog.error(LOG_TAG, "Transmission interval should be set before the service is started.");
972972
return false;
973973
}

sdk/appcenter-analytics/src/test/java/com/microsoft/appcenter/analytics/AbstractAnalyticsTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
import org.powermock.modules.junit4.PowerMockRunner;
2525

2626
import static org.junit.Assert.assertFalse;
27-
import static org.mockito.Matchers.any;
28-
import static org.mockito.Matchers.anyBoolean;
29-
import static org.mockito.Matchers.anyString;
30-
import static org.mockito.Matchers.eq;
27+
import static org.mockito.ArgumentMatchers.any;
28+
import static org.mockito.ArgumentMatchers.anyBoolean;
29+
import static org.mockito.ArgumentMatchers.anyString;
30+
import static org.mockito.ArgumentMatchers.eq;
3131
import static org.mockito.Mockito.when;
3232
import static org.powermock.api.mockito.PowerMockito.doAnswer;
3333
import static org.powermock.api.mockito.PowerMockito.mockStatic;
@@ -65,7 +65,7 @@ public Void answer(InvocationOnMock invocation) {
6565
return null;
6666
}
6767
};
68-
doAnswer(runNow).when(mAppCenterHandler).post(any(Runnable.class), any(Runnable.class));
68+
doAnswer(runNow).when(mAppCenterHandler).post(any(Runnable.class), any());
6969
mockStatic(HandlerUtils.class);
7070
doAnswer(runNow).when(HandlerUtils.class);
7171
HandlerUtils.runOnUiThread(any(Runnable.class));

0 commit comments

Comments
 (0)