Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ buildscript {
classpath "org.jacoco:org.jacoco.core:$jacoco_version"
classpath "org.jacoco:org.jacoco.report:$jacoco_version"
classpath "org.jacoco:org.jacoco.agent:$jacoco_version"
classpath 'com.google.gms:google-services:4.4.2'
classpath "com.google.firebase:firebase-crashlytics-gradle:3.0.2"
}
}

Expand All @@ -43,6 +45,7 @@ apply plugin: 'pmd'
apply from: "$rootProject.projectDir/jacoco.gradle"
apply plugin: 'com.github.spotbugs'
apply plugin: 'io.gitlab.arturbosch.detekt'
apply plugin: 'com.google.firebase.crashlytics'

// needed to make renovate run without shot, as shot requires Android SDK
// https://github.com/pedrovgs/Shot/issues/300
Expand All @@ -51,6 +54,9 @@ if (shotTest) {
}
apply plugin: 'com.google.devtools.ksp'

if (getGradle().getStartParameter().getTaskRequests().toString().contains("Ionos")){
apply plugin: 'com.google.gms.google-services'
}

println "Gradle uses Java ${Jvm.current()}"

Expand Down Expand Up @@ -185,6 +191,13 @@ android {
versionCode 1
versionName "1"
}

ionos {
applicationId "com.ionos.hidrivenext"
dimension "default"
versionCode 2
isDefault = true
}
}

testOptions {
Expand Down Expand Up @@ -322,6 +335,8 @@ dependencies {
gplayImplementation project(':appscan')
huaweiImplementation project(':appscan')
qaImplementation project(':appscan')
ionosImplementation project(':appscan')
implementation project(':scanbot')

spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.13.0'
spotbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.6.9'
Expand Down Expand Up @@ -430,6 +445,10 @@ dependencies {

// splash screen dependency ref: https://developer.android.com/develop/ui/views/launch/splash-screen/migrate
implementation 'androidx.core:core-splashscreen:1.0.1'

implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
implementation "com.google.firebase:firebase-analytics"
implementation "com.google.firebase:firebase-crashlytics"
}

configurations.configureEach {
Expand Down
41 changes: 41 additions & 0 deletions app/src/ionos/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application>

<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="false"
tools:node="merge" />

<receiver
android:name="com.nextcloud.client.widget.DashboardWidgetProvider"
android:enabled="false" />

<activity
android:name=".ui.preview.PreviewImageActivity"
android:theme="@style/Theme.ownCloud.PreviewImage"
tools:replace="android:theme" />

<activity
android:theme="@style/Theme.ownCloud.noActionBar.Login"
android:name="com.ionos.authorization_method.AuthorizationMethodActivity"
android:exported="false" />

<activity
android:name="com.ionos.privacy.DataProtectionActivity"
android:exported="false" />

<activity
android:name="com.ionos.privacy.PrivacySettingsActivity"
android:exported="false" />

</application>

</manifest>
29 changes: 29 additions & 0 deletions app/src/ionos/debug/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "695238986129",
"project_id": "ionos-easystorage-dev",
"storage_bucket": "ionos-easystorage-dev.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:695238986129:android:21f017261e3d0f7bc0f230",
"android_client_info": {
"package_name": "com.ionos.hidrivenext"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyDgq5tBI0SVPspdtVrRx-z-fBR9XsbZeUw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}
Binary file added app/src/ionos/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2023 Tobias Kaminsky <[email protected]>
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
* SPDX-FileCopyrightText: 2025 STRATO GmbH.
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.android.appReview

import androidx.appcompat.app.AppCompatActivity
import com.nextcloud.appReview.InAppReviewHelper
import com.nextcloud.client.preferences.AppPreferences

class InAppReviewHelperImpl(appPreferences: AppPreferences) :
InAppReviewHelper {
override fun resetAndIncrementAppRestartCounter() {
}

override fun showInAppReview(activity: AppCompatActivity) {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2019 Chris Narkiewicz <[email protected]>
* SPDX-FileCopyrightText: 2025 STRATO GmbH.
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.di;

import dagger.Module;

@Module
abstract class VariantComponentsModule {
}
33 changes: 33 additions & 0 deletions app/src/ionos/java/com/nextcloud/client/di/VariantModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey <[email protected]>
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
* SPDX-FileCopyrightText: 2025 STRATO GmbH.
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.di

import com.ionos.scanbot.availability.Availability
import com.ionos.scanbot.di.qualifiers.Scanbot
import com.ionos.scanbot.di.qualifiers.ScanbotLicense
import com.nextcloud.appscan.ScanPageContract
import com.nextcloud.client.documentscan.AppScanOptionalFeature
import dagger.Module
import dagger.Provides
import dagger.Reusable

@Module
internal class VariantModule {
@Provides
@Reusable
fun scanOptionalFeature(
@Scanbot featureAvailability: Availability,
@ScanbotLicense licenseAvailability: Availability
): AppScanOptionalFeature {
return object : AppScanOptionalFeature() {
override fun getScanContract() = ScanPageContract()
override val isAvailable: Boolean = featureAvailability.available() && licenseAvailability.available()
}
}
}
48 changes: 48 additions & 0 deletions app/src/ionos/java/com/owncloud/android/utils/PushUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2019 Chris Narkiewicz <[email protected]>
* SPDX-FileCopyrightText: 2017 Mario Danic <[email protected]>
* SPDX-FileCopyrightText: 2025 STRATO GmbH.
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.utils;

import android.content.Context;

import com.nextcloud.client.account.UserAccountManager;
import com.nextcloud.client.preferences.AppPreferencesImpl;
import com.owncloud.android.MainApp;
import com.owncloud.android.datamodel.SignatureVerification;

import java.security.Key;

public final class PushUtils {
public static final String KEY_PUSH = "push";

private PushUtils() {
}

public static void pushRegistrationToServer(final UserAccountManager accountManager, final String pushToken) {
// do nothing
}

public static void reinitKeys(UserAccountManager accountManager) {
Context context = MainApp.getAppContext();
AppPreferencesImpl.fromContext(context).setKeysReInitEnabled();
}

public static Key readKeyFromFile(boolean readPublicKey) {
return null;
}

public static SignatureVerification verifySignature(
final Context context,
final UserAccountManager accountManager,
final byte[] signatureBytes,
final byte[] subjectBytes
) {
return null;
}

}
11 changes: 11 additions & 0 deletions app/src/ionos/java/com/owncloud/android/utils/SecurityUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2018 Mario Danic <[email protected]>
* SPDX-FileCopyrightText: 2025 STRATO GmbH.
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.utils;

public class SecurityUtils {
}
29 changes: 29 additions & 0 deletions app/src/ionos/release/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "816451688882",
"project_id": "ionos-hidrive-next-ios-aos",
"storage_bucket": "ionos-hidrive-next-ios-aos.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:816451688882:android:7dad53bbb59c8413d12cab",
"android_client_info": {
"package_name": "com.ionos.hidrivenext"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyBBsP5BOzO1kwK1B-xa_pDGWU6je_WVBXQ"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}
16 changes: 16 additions & 0 deletions app/src/ionos/res/animator/progress_bar_login_indeterminate.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->

<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2500"
android:interpolator="@android:anim/linear_interpolator"
android:propertyName="rotation"
android:repeatCount="-1"
android:valueFrom="0"
android:valueTo="720"
android:valueType="floatType" />
11 changes: 11 additions & 0 deletions app/src/ionos/res/color-night/drawer_item_shape_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/ionos_drawer_item_background_checked" android:state_checked="true"/>
<item android:color="@color/ionos_drawer_item_background" />
</selector>
11 changes: 11 additions & 0 deletions app/src/ionos/res/color/drawer_item_shape_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/ionos_drawer_item_background_checked" android:state_checked="true"/>
<item android:color="@color/ionos_drawer_item_background" />
</selector>
14 changes: 14 additions & 0 deletions app/src/ionos/res/color/filled_button_bg_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/ionos_default_pressed_button_bg_color"/>
<item android:state_enabled="false" android:color="@color/ionos_default_disabled_button_bg_color"/>
<item android:color="@color/ionos_default_button_bg_color"/>
</selector>
14 changes: 14 additions & 0 deletions app/src/ionos/res/color/filled_button_text_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/ionos_filled_button_pressed_text_color"/>
<item android:state_enabled="false" android:color="@color/ionos_filled_button_disabled_text_color"/>
<item android:color="@color/ionos_filled_button_default_text_color"/>
</selector>
14 changes: 14 additions & 0 deletions app/src/ionos/res/color/outlined_button_bg_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
~ IONOS HiDrive Next - Android Client
~
~ SPDX-FileCopyrightText: 2025 STRATO GmbH.
~ SPDX-License-Identifier: GPL-2.0
-->

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/ionos_outlined_pressed_button_bg_color"/>
<item android:state_enabled="false" android:color="@color/ionos_outlined_disabled_button_bg_color"/>
<item android:color="@color/ionos_outlined_default_button_bg_color"/>
</selector>
Loading
Loading