diff --git a/app/build.gradle b/app/build.gradle
index 0f9631e7e9..2374222fbf 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -80,6 +80,9 @@ def selectableVariants = [
'nightlyProdSpinner',
'nightlyProdPerf',
'nightlyProdRelease',
+ 'nightlyStagingRelease',
+ 'nightlyPnpPerf',
+ 'nightlyPnpRelease',
'playProdDebug',
'playProdSpinner',
'playProdPerf',
@@ -89,6 +92,8 @@ def selectableVariants = [
'playStagingSpinner',
'playStagingPerf',
'playStagingInstrumentation',
+ 'playPnpDebug',
+ 'playPnpSpinner',
'playStagingRelease',
'websiteProdSpinner',
'websiteProdRelease',
@@ -313,11 +318,13 @@ android {
matchingFallbacks = ['debug']
buildConfigField "String", "BUILD_VARIANT_TYPE", "\"Spinner\""
}
+
release {
minifyEnabled true
proguardFiles = buildTypes.debug.proguardFiles
buildConfigField "String", "BUILD_VARIANT_TYPE", "\"Release\""
}
+
perf {
initWith debug
isDefault false
@@ -392,6 +399,15 @@ android {
buildConfigField "String", "BUILD_ENVIRONMENT_TYPE", "\"Staging\""
buildConfigField "String", "STRIPE_PUBLISHABLE_KEY", "\"pk_test_sngOd8FnXNkpce9nPXawKrJD00kIDngZkD\""
}
+
+ pnp {
+ dimension 'environment'
+
+ initWith staging
+ applicationIdSuffix ".pnp"
+
+ buildConfigField "String", "BUILD_ENVIRONMENT_TYPE", "\"Pnp\""
+ }
}
android.applicationVariants.all { variant ->
diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Environment.kt b/app/src/main/java/org/thoughtcrime/securesms/util/Environment.kt
index 4e6ca2b40b..8e68650274 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/util/Environment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/util/Environment.kt
@@ -7,6 +7,7 @@ import org.thoughtcrime.securesms.BuildConfig
object Environment {
const val IS_STAGING: Boolean = BuildConfig.BUILD_ENVIRONMENT_TYPE == "Staging"
+ const val IS_PNP: Boolean = BuildConfig.BUILD_ENVIRONMENT_TYPE == "Pnp"
object Donations {
@JvmStatic
diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java
index 0482d4f610..b0e4e91e4c 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java
@@ -321,7 +321,7 @@ public final class FeatureFlags {
/** Internal testing extensions. */
public static boolean internalUser() {
- return getBoolean(INTERNAL_USER, false);
+ return getBoolean(INTERNAL_USER, false) || Environment.IS_PNP;
}
/** Whether or not to use the UUID in verification codes. */
@@ -344,7 +344,7 @@ public final class FeatureFlags {
* IMPORTANT: This is under active development. Enabling this *will* break your contacts in terrible, irreversible ways.
*/
public static boolean phoneNumberPrivacy() {
- return getBoolean(PHONE_NUMBER_PRIVACY, false);
+ return getBoolean(PHONE_NUMBER_PRIVACY, false) || Environment.IS_PNP;
}
/** Whether to use the custom streaming muxer or built in android muxer. */
diff --git a/app/src/nightlyPnp/AndroidManifest.xml b/app/src/nightlyPnp/AndroidManifest.xml
new file mode 100644
index 0000000000..6c9103481d
--- /dev/null
+++ b/app/src/nightlyPnp/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/app/src/nightlyPnp/res/drawable/nightly_pnp_background.webp b/app/src/nightlyPnp/res/drawable/nightly_pnp_background.webp
new file mode 100644
index 0000000000..31edecba90
Binary files /dev/null and b/app/src/nightlyPnp/res/drawable/nightly_pnp_background.webp differ
diff --git a/app/src/nightlyPnp/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/nightlyPnp/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000000..605dfc0fee
--- /dev/null
+++ b/app/src/nightlyPnp/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/nightlyPnp/res/values/strings.xml b/app/src/nightlyPnp/res/values/strings.xml
new file mode 100644
index 0000000000..fa41b93265
--- /dev/null
+++ b/app/src/nightlyPnp/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+
+ Signal (PNP)
+
diff --git a/app/src/pnp/AndroidManifest.xml b/app/src/pnp/AndroidManifest.xml
new file mode 100644
index 0000000000..6c9103481d
--- /dev/null
+++ b/app/src/pnp/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/app/src/pnp/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/pnp/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000000..ea3469b682
--- /dev/null
+++ b/app/src/pnp/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/pnp/res/values/strings.xml b/app/src/pnp/res/values/strings.xml
new file mode 100644
index 0000000000..fa41b93265
--- /dev/null
+++ b/app/src/pnp/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+
+ Signal (PNP)
+