Skip to content

Commit ae7e403

Browse files
DaVinci9196mar-v-in
authored andcommitted
Phenotype: Adjust data to be non-empty
1 parent 2284c9a commit ae7e403

File tree

2 files changed

+20
-21
lines changed

2 files changed

+20
-21
lines changed

play-services-core/src/main/kotlin/org/microg/gms/phenotype/PhenotypeService.kt

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -118,30 +118,19 @@ class PhenotypeServiceImpl(val packageName: String?) : IPhenotypeService.Stub()
118118

119119
override fun getCommitedConfiguration(callbacks: IPhenotypeCallbacks, packageName: String?) {
120120
Log.d(TAG, "getCommitedConfiguration($packageName)")
121-
callbacks.onCommittedConfiguration(Status.SUCCESS, Configurations().apply {
122-
field4 = emptyArray()
123-
})
121+
callbacks.onCommittedConfiguration(Status.SUCCESS, configurationsResult())
124122
}
125123

126124
override fun getConfigurationSnapshotWithToken(callbacks: IPhenotypeCallbacks, packageName: String?, user: String?, p3: String?) {
127125
Log.d(TAG, "getConfigurationSnapshotWithToken($packageName, $user, $p3)")
128126
if (packageName in CONFIGURATION_OPTIONS.keys) {
129-
callbacks.onConfiguration(Status.SUCCESS, Configurations().apply {
130-
serverToken = "unknown"
131-
snapshotToken = "unknown"
132-
version = System.currentTimeMillis() / 1000
133-
field4 = arrayOf(Configuration().apply {
134-
id = 0
135-
flags = CONFIGURATION_OPTIONS[packageName]
136-
removeNames = emptyArray()
137-
})
138-
field5 = false
139-
field6 = byteArrayOf()
140-
})
127+
callbacks.onConfiguration(Status.SUCCESS, configurationsResult(arrayOf(Configuration().apply {
128+
id = 0
129+
flags = CONFIGURATION_OPTIONS[packageName]
130+
removeNames = emptyArray()
131+
})))
141132
} else {
142-
callbacks.onConfiguration(Status.SUCCESS, Configurations().apply {
143-
field4 = emptyArray()
144-
})
133+
callbacks.onConfiguration(Status.SUCCESS, configurationsResult())
145134
}
146135
}
147136

@@ -152,9 +141,7 @@ class PhenotypeServiceImpl(val packageName: String?) : IPhenotypeService.Stub()
152141

153142
override fun registerSync(callbacks: IPhenotypeCallbacks, packageName: String?, version: Int, p3: Array<out String>?, p4: ByteArray?, p5: String?, p6: String?) {
154143
Log.d(TAG, "registerSync($packageName, $version, $p3, $p4, $p5, $p6)")
155-
callbacks.onConfiguration(Status.SUCCESS, Configurations().apply {
156-
field4 = emptyArray()
157-
})
144+
callbacks.onConfiguration(Status.SUCCESS, configurationsResult())
158145
}
159146

160147
override fun setFlagOverrides(callbacks: IPhenotypeCallbacks, packageName: String?, user: String?, flagName: String?, flagType: Int, flagDataType: Int, flagValue: String?) {

play-services-core/src/main/kotlin/org/microg/gms/phenotype/extensions.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
package org.microg.gms.phenotype
77

8+
import com.google.android.gms.phenotype.Configuration
9+
import com.google.android.gms.phenotype.Configurations
10+
811
private val supportedLanguages = listOf(
912
"bs", "pt", "ja", "ko", "fr", "it", "de", "zh", "nl",
1013
"iw", "he", "tr", "cs", "id", "in", "sv", "da", "no",
@@ -16,4 +19,13 @@ fun encodeSupportedLanguageList(): ByteArray {
1619
return supportedLanguages.flatMap { lang ->
1720
listOf(0x0A.toByte(), 0x02.toByte()) + lang.toByteArray(Charsets.UTF_8).toList()
1821
}.toByteArray()
22+
}
23+
24+
fun configurationsResult(configurations: Array<Configuration> = emptyArray()) = Configurations().apply {
25+
serverToken = "unknown"
26+
snapshotToken = "unknown"
27+
version = System.currentTimeMillis() / 1000
28+
field4 = configurations
29+
field5 = false
30+
field6 = byteArrayOf()
1931
}

0 commit comments

Comments
 (0)