Skip to content

Commit 909b614

Browse files
nruss11-omnewmanwbradhJoshMcCulloughcwerthomni
authored
Merge develop to master for 7.2.4 release (#79)
* Exclude signup route from API token interceptor to prevent multiple authorization tokens from being sent * Hide progress mask on sign up failure * Update README.md (#66) * fix manifest XML syntax error (#38) * Upgrade to gradle 8.9 and java 21 (#68) * Fix nullability to avoid null pointer exception * Code Submitted Covers Mage #1326, Mage #1252, and Mage #1356 * Add Comment for Clarity, revert min version * Fix Error Created during Merge conflict resolution * add tools-versions file for java open jdk * Add Scrollview to allow Profile to Scroll when it no longer fits on the screen. * [mage-1357] - add missing type adapters to instance of gson being used for geoJson serialization to fix issue with inability to sync lines or polygons to mage server * Bugfix/mage #1363: errors warning typos (#75) * down from 43 to 12 errors * down from 12 to 2 errors * down from 2 to 0 errors * undid mistake, fixed a lot more warnings * duplicate * undoing attempted fix * undoing another attempted fix * undoing AndroidID mistake * Fixing Conflicts * Fix Rebase Errors * Fix When Statement * Update Error Message * Feature/#1391: Contact Us button (#77) * Added *Contact Us* button within main menu settings under *About* button. * added correct 'TO' email address * Feature/mage 1398 (#78) * [mage-1398] Update github actions upload-artifact to v4 Set JVM target to 17 to resolve build workflow failure Change workflows to not set version code. Update release workflow to set the correct mime type for apks. * Update version code and name for 7.2.4 release --------- Co-authored-by: William Newman <[email protected]> Co-authored-by: Brad Hards <[email protected]> Co-authored-by: Josh McCullough <[email protected]> Co-authored-by: Billy Newman <[email protected]> Co-authored-by: cwerthomni <[email protected]> Co-authored-by: Ryan Carpenter <[email protected]> Co-authored-by: Clinton Werth <[email protected]> Co-authored-by: Dan Benner <[email protected]>
1 parent 1803c95 commit 909b614

File tree

176 files changed

+915
-804
lines changed

Some content is hidden

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

176 files changed

+915
-804
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,30 @@ jobs:
1212
runs-on: ubuntu-latest
1313

1414
steps:
15-
- uses: actions/checkout@v3
15+
- name: Checkout Specified Branch
16+
uses: actions/checkout@v4
1617
with:
17-
fetch-depth: 0
18+
ref: ${{ github.event.inputs.appBranch }}
1819
- name: Setup JDK 17
1920
uses: actions/setup-java@v3
2021
with:
2122
distribution: 'temurin'
2223
java-version: '17'
23-
- name: Checkout App Branch
24-
run: git checkout ${{ github.event.inputs.appBranch }}
24+
cache: 'gradle'
2525
- name: Setup Keystore
2626
run: |
2727
echo "${{ secrets.KEYSTORE }}" > release.b64
2828
base64 -d release.b64 > release.keystore
29-
- name: Create Version Code
30-
id: version_code
31-
run: |
32-
echo "value=$(git rev-list --count HEAD)" >>$GITHUB_OUTPUT
33-
echo "VERSION_CODE $(git rev-list --count HEAD)"
3429
- name: Build Application
3530
run: |
3631
./gradlew clean assembleRelease \
3732
-PKEYSTORE=../release.keystore \
3833
-PKEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }} \
3934
-PKEY_ALIAS=${{ secrets.KEY_ALIAS }} \
4035
-PKEY_PASSWORD=${{ secrets.KEY_PASSWORD }} \
41-
-PRELEASE_MAPS_API_KEY=${{ secrets.MAPS_API_KEY }} \
42-
-PVERSION_CODE=${{ steps.version_code.outputs.value }}
36+
-PRELEASE_MAPS_API_KEY=${{ secrets.MAPS_API_KEY }}
4337
- name: Upload Artifacts
44-
uses: actions/upload-artifact@v3
38+
uses: actions/upload-artifact@v4
4539
with:
4640
name: mage-release.apk
4741
path: mage/build/outputs/apk/release/mage-release.apk

.github/workflows/release.yml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ jobs:
99
runs-on: ubuntu-latest
1010

1111
steps:
12-
- uses: actions/checkout@v3
13-
with:
14-
fetch-depth: 0
12+
- name: Checkout
13+
uses: actions/checkout@v4
1514
- name: Setup JDK 17
1615
uses: actions/setup-java@v3
1716
with:
@@ -21,21 +20,14 @@ jobs:
2120
run: |
2221
echo "${{ secrets.KEYSTORE }}" > release.b64
2322
base64 -d release.b64 > release.keystore
24-
- name: Create Version Code
25-
id: version_code
26-
run: |
27-
git checkout master
28-
echo "value=$(git rev-list --count HEAD)" >>$GITHUB_OUTPUT
29-
echo "VERSION_CODE $(git rev-list --count HEAD)"
3023
- name: Build Application
3124
run: |
3225
./gradlew clean assembleRelease \
3326
-PKEYSTORE=../release.keystore \
3427
-PKEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }} \
3528
-PKEY_ALIAS=${{ secrets.KEY_ALIAS }} \
3629
-PKEY_PASSWORD=${{ secrets.KEY_PASSWORD }} \
37-
-PRELEASE_MAPS_API_KEY=${{ secrets.MAPS_API_KEY }} \
38-
-PVERSION_CODE=${{ steps.version_code.outputs.value }}
30+
-PRELEASE_MAPS_API_KEY=${{ secrets.MAPS_API_KEY }}
3931
- name: Get Upload URL
4032
id: url
4133
run: |
@@ -49,4 +41,4 @@ jobs:
4941
upload_url: ${{ steps.url.outputs.upload_url }}
5042
asset_path: mage/build/outputs/apk/release/mage-release.apk
5143
asset_name: mage-release.apk
52-
asset_content_type: application/octet-stream
44+
asset_content_type: application/vnd.android.package-archive

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
java openjdk-23

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The **M**obile **A**wareness **G**EOINT **E**nvironment, or MAGE, provides mobil
88

99
The app remains functional if your mobile device loses its network connection, and will upload its local content when a connection is re-established. When disconnected from the network, MAGE will use local data layers to continue to provide relevant GEOINT. Data layers, including map tiles and vector data, can be stored on your mobile device and are available at all times.
1010

11-
MAGE is very customizable and can be tailored for you situation.
11+
MAGE is very customizable and can be tailored for your situation.
1212

1313
MAGE Android was developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the Apache license.
1414

@@ -124,14 +124,14 @@ file ./mage/build/outputs/apk/mage-android-defaults-debug.apk
124124

125125
With a device connected to your machine, you can install the MAGE app with the following command:
126126
```bash
127-
./gradlew installDefaultsDebug
127+
./gradlew installDebug
128128
```
129129

130130
### Test
131131

132132
Run the tests on your device:
133133
```bash
134-
./gradlew connectedDefaultsDebugAndroidTest
134+
./gradlew connectedDebugAndroidTest
135135
```
136136

137137
## Pull Requests

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
2-
id 'com.android.application' version '8.3.0' apply false
3-
id 'com.android.library' version '8.3.0' apply false
4-
id 'org.jetbrains.kotlin.android' version '1.9.10' apply false
2+
id 'com.android.application' version '8.7.2' apply false
3+
id 'com.android.library' version '8.7.2' apply false
4+
id 'org.jetbrains.kotlin.android' version '1.9.25' apply false
55
id 'com.google.dagger.hilt.android' version '2.51' apply false
66
}
77

gradle.properties

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,5 @@ android.enableJetifier=true
33
org.gradle.jvmargs=-Xmx4096m
44

55
# Application properties
6-
VERSION_CODE=1
7-
android.defaults.buildfeatures.buildconfig=true
86
android.nonTransitiveRClass=false
97
android.nonFinalResIds=false
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Thu May 06 13:38:17 MDT 2021
22
distributionBase=GRADLE_USER_HOME
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
44
distributionPath=wrapper/dists
55
zipStorePath=wrapper/dists
66
zipStoreBase=GRADLE_USER_HOME

mage/build.gradle

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ import org.ajoberstar.grgit.Grgit
22

33
plugins {
44
id 'com.android.application'
5-
id 'org.jetbrains.kotlin.android'
5+
id 'kotlin-android'
66
id 'kotlin-parcelize'
77
id 'kotlin-kapt'
8-
id 'org.ajoberstar.grgit' version '4.1.0'
8+
id 'org.ajoberstar.grgit' version '5.3.0'
99
id 'com.google.dagger.hilt.android'
1010
}
1111

1212
group 'mil.nga.giat.mage'
13-
version '7.2.3'
1413
ext {
1514
sourceRefspec = Grgit.open(currentDir: project.rootDir).head().id
1615

@@ -33,7 +32,13 @@ def googleMapsApiReleaseKey = hasProperty('RELEASE_MAPS_API_KEY') ? RELEASE_MAPS
3332
def googleMapsApiDebugKey = hasProperty('DEBUG_MAPS_API_KEY') ? DEBUG_MAPS_API_KEY : ''
3433

3534
android {
36-
compileSdk 34
35+
defaultConfig {
36+
compileSdk 34
37+
}
38+
39+
buildFeatures{
40+
buildConfig = true
41+
}
3742
namespace 'mil.nga.giat.mage'
3843

3944
dataBinding {
@@ -50,17 +55,17 @@ android {
5055
targetCompatibility JavaVersion.VERSION_17
5156
}
5257

53-
kotlin {
54-
jvmToolchain(11)
55-
}
56-
5758
kotlin {
5859
jvmToolchain(17)
5960
}
6061

6162
kotlinOptions {
6263
jvmTarget = "17"
6364
freeCompilerArgs = ["-Xcontext-receivers"]
65+
freeCompilerArgs += [
66+
"-P",
67+
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=1.9.25"
68+
]
6469
}
6570

6671
buildFeatures {
@@ -69,7 +74,7 @@ android {
6974
}
7075

7176
composeOptions {
72-
kotlinCompilerExtensionVersion = "1.5.3"
77+
kotlinCompilerExtensionVersion = "1.5.15"
7378
}
7479

7580
packagingOptions {
@@ -84,10 +89,10 @@ android {
8489

8590
defaultConfig {
8691
applicationId "mil.nga.giat.mage"
87-
versionName project.version
88-
versionCode VERSION_CODE as int
92+
versionCode 1952
93+
versionName '7.2.4'
8994
minSdkVersion 27
90-
targetSdkVersion 33
95+
targetSdkVersion 34
9196
multiDexEnabled true
9297
resValue "string", "serverURLDefaultValue", serverURL
9398
resValue "string", "recentMapXYZDefaultValue", "263.0,40.0,3"

mage/proguard-rules.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,6 @@
3333
}
3434

3535
-assumenosideeffects class java.lang.Exception {
36+
#noinspection ShrinkerUnresolvedReference
3637
public void printStackTrace();
3738
}

mage/src/main/AndroidManifest.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414
<uses-permission android:name="android.permission.CAMERA" />
1515
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
1616
<uses-permission android:name="android.permission.INTERNET" />
17+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1718
<uses-permission android:name="android.permission.RECORD_AUDIO" />
1819
<uses-permission android:name="android.permission.VIBRATE" />
1920
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
21+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
2022
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
2123

2224
<uses-feature
@@ -77,7 +79,8 @@
7779
android:configChanges="orientation"
7880
android:screenOrientation="portrait"
7981
android:windowSoftInputMode="stateAlwaysHidden"
80-
android:theme="@style/AppTheme3.NoActionBar">
82+
android:theme="@style/AppTheme3.NoActionBar"
83+
tools:ignore="DiscouragedApi">
8184

8285
<intent-filter>
8386
<action android:name="android.intent.action.MAIN" />
@@ -150,7 +153,8 @@
150153
android:name=".login.ServerUrlActivity"
151154
android:theme="@style/AppTheme.NoActionBar"
152155
android:configChanges="orientation"
153-
android:screenOrientation="portrait"/>
156+
android:screenOrientation="portrait"
157+
tools:ignore="DiscouragedApi" />
154158
<activity
155159
android:name=".event.EventsActivity"
156160
android:theme="@style/AppTheme.NoActionBar" />

0 commit comments

Comments
 (0)