com.xd.sdk.oversea 6.23.13 → 6.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Editor/XDGOverseaGradleContextProvider.cs +48 -12
- package/Editor/XDOverseaGenerateGradleAdapter.cs +46 -22
- package/Plugins/Android/libs/XDGShare_6.26.2.aar +0 -0
- package/Plugins/Android/libs/{XDGThirdTrack_6.23.13.aar.meta → XDGShare_6.26.2.aar.meta} +1 -1
- package/Plugins/Android/libs/XDGThirdLogin_6.26.2.aar +0 -0
- package/Plugins/Android/libs/{XDGShare_6.23.13.aar.meta → XDGThirdLogin_6.26.2.aar.meta} +1 -1
- package/Plugins/Android/libs/XDGThirdTrack_6.26.2.aar +0 -0
- package/Plugins/Android/libs/{XDGThirdLogin_6.23.13.aar.meta → XDGThirdTrack_6.26.2.aar.meta} +1 -1
- package/Plugins/Android/libs/tweet-composer-3.3.1.aar +0 -0
- package/Plugins/{iOS/XDThirdTrackSDK.framework.meta → Android/libs/tweet-composer-3.3.1.aar.meta} +7 -3
- package/Plugins/Android/libs/tweet-ui-3.3.1.aar +0 -0
- package/Plugins/Android/libs/tweet-ui-3.3.1.aar.meta +32 -0
- package/Plugins/Android/libs/twitter-3.3.1.aar +0 -0
- package/Plugins/Android/libs/twitter-3.3.1.aar.meta +32 -0
- package/Plugins/Android/libs/twitter-core-3.3.1.aar +0 -0
- package/Plugins/Android/libs/twitter-core-3.3.1.aar.meta +32 -0
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/Info.plist +0 -0
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/PrivacyInfo.xcprivacy +122 -0
- package/Plugins/iOS/{XDThirdTrackSDK.framework/Modules/module.modulemap.meta → Resource/GoogleSignIn.bundle/PrivacyInfo.xcprivacy.meta} +1 -1
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ar.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ca.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/cs.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/da.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/de.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/el.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/en_GB.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/es.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/es_MX.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/fi.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/fr.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/fr_CA.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/google.png +0 -0
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/google@2x.png +0 -0
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/google@3x.png +0 -0
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/he.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/hi.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/hr.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/hu.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/id.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/it.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ja.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ko.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ms.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/nb.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/nl.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/pl.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/pt.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/pt_BR.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/pt_PT.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ro.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/ru.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/sk.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/sv.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/th.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/tr.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/uk.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/vi.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/zh_CN.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/Resource/GoogleSignIn.bundle/zh_TW.lproj/GoogleSignIn.strings +0 -12
- package/Plugins/iOS/XDAdjustWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDAdjustWrapperSDK.framework/XDAdjustWrapperSDK +0 -0
- package/Plugins/iOS/XDAppsFlyerWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDAppsFlyerWrapperSDK.framework/XDAppsFlyerWrapperSDK +0 -0
- package/Plugins/iOS/XDFacebookWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDFacebookWrapperSDK.framework/XDFacebookWrapperSDK +0 -0
- package/Plugins/iOS/XDFirebaseCrashlyticsWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDFirebaseCrashlyticsWrapperSDK.framework/XDFirebaseCrashlyticsWrapperSDK +0 -0
- package/Plugins/iOS/XDFirebasePushWrapperSDK.framework/Headers/XDFirebasePushWrapperSDK.h +1 -0
- package/Plugins/iOS/XDFirebasePushWrapperSDK.framework/Headers/XDGFirebasePushWrapper.h +16 -0
- package/Plugins/iOS/{XDThirdTrackSDK.framework/Headers/XDThirdTrackSDK.h.meta → XDFirebasePushWrapperSDK.framework/Headers/XDGFirebasePushWrapper.h.meta} +1 -1
- package/Plugins/iOS/XDFirebasePushWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDFirebasePushWrapperSDK.framework/XDFirebasePushWrapperSDK +0 -0
- package/Plugins/iOS/XDFirebaseWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDFirebaseWrapperSDK.framework/XDFirebaseWrapperSDK +0 -0
- package/Plugins/iOS/XDGoogleWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDGoogleWrapperSDK.framework/XDGoogleWrapperSDK +0 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Headers/XDLineWrapperSDK-Swift.h +349 -0
- package/Plugins/iOS/{XDThirdTrackSDK.framework/Info.plist.meta → XDLineWrapperSDK.framework/Headers/XDLineWrapperSDK-Swift.h.meta} +1 -1
- package/Plugins/iOS/XDLineWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/Plugins/iOS/{XDThirdTrackSDK.framework/XDThirdTrackSDK.meta → XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo.meta} +1 -1
- package/Plugins/iOS/{XDThirdTrackSDK.framework/Modules.meta → XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/Project.meta} +1 -1
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/arm64-apple-ios.abi.json +9 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/arm64-apple-ios.abi.json.meta +7 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/arm64-apple-ios.swiftdoc.meta +7 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule/arm64-apple-ios.swiftmodule.meta +7 -0
- package/Plugins/iOS/{XDThirdTrackSDK.framework/Headers.meta → XDLineWrapperSDK.framework/Modules/XDLineWrapperSDK.swiftmodule.meta} +1 -1
- package/Plugins/iOS/XDLineWrapperSDK.framework/Modules/module.modulemap +5 -0
- package/Plugins/iOS/XDLineWrapperSDK.framework/XDLineWrapperSDK +0 -0
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/Headers/XDTwitterWrapperSDK-Swift.h +5 -1
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/Modules/XDTwitterWrapperSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/Modules/XDTwitterWrapperSDK.swiftmodule/arm64-apple-ios.abi.json +2 -2
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/Modules/XDTwitterWrapperSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/Modules/XDTwitterWrapperSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
- package/Plugins/iOS/XDTwitterWrapperSDK.framework/XDTwitterWrapperSDK +0 -0
- package/package.json +1 -1
- package/Plugins/Android/libs/XDGShare_6.23.13.aar +0 -0
- package/Plugins/Android/libs/XDGThirdLogin_6.23.13.aar +0 -0
- package/Plugins/Android/libs/XDGThirdTrack_6.23.13.aar +0 -0
- package/Plugins/iOS/XDThirdTrackSDK.framework/Headers/XDThirdTrackSDK.h +0 -18
- package/Plugins/iOS/XDThirdTrackSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDThirdTrackSDK.framework/Modules/module.modulemap +0 -6
- package/Plugins/iOS/XDThirdTrackSDK.framework/XDThirdTrackSDK +0 -0
|
@@ -32,18 +32,27 @@ namespace XD.SDK.Oversea.Editor
|
|
|
32
32
|
private const string GMS_CLASSPATH_AGP_7 = " id 'com.google.gms.google-services' version '4.3.15' apply false";
|
|
33
33
|
private const string FIREBASE_CRASH_CLASSPATH = " classpath 'com.google.firebase:firebase-crashlytics-gradle:2.2.1'";
|
|
34
34
|
private const string FIREBASE_CRASH_CLASSPATH_AGP_7 = " id 'com.google.firebase.crashlytics' version '2.9.5' apply false";
|
|
35
|
-
private const string FACEBOOK_LOGIN_DEP = " implementation 'com.facebook.android:facebook-login:
|
|
36
|
-
private const string FACEBOOK_SHARE_DEP = " implementation 'com.facebook.android:facebook-share:
|
|
37
|
-
private const string
|
|
38
|
-
private const string
|
|
35
|
+
private const string FACEBOOK_LOGIN_DEP = " implementation 'com.facebook.android:facebook-login:17.0.2'";
|
|
36
|
+
private const string FACEBOOK_SHARE_DEP = " implementation 'com.facebook.android:facebook-share:17.0.2'";
|
|
37
|
+
private const string OBSOLETE_TWITTER_DEP = " implementation 'com.twitter.sdk.android:twitter:3.3.0'";
|
|
38
|
+
private const string OBSOLETE_TWITTE_COMPOSER_DEP = " implementation 'com.twitter.sdk.android:tweet-composer:3.3.0'";
|
|
39
39
|
private const string AF_INST_DEP = " implementation 'com.android.installreferrer:installreferrer:2.2'";
|
|
40
|
-
private const string APPSFLYER_DEP = " implementation 'com.appsflyer:af-android-sdk:6.
|
|
41
|
-
private const string APPSFLYER_WRAPPER_DEP = " implementation 'com.appsflyer:unity-wrapper:6.
|
|
40
|
+
private const string APPSFLYER_DEP = " implementation 'com.appsflyer:af-android-sdk:6.15.0'";
|
|
41
|
+
private const string APPSFLYER_WRAPPER_DEP = " implementation 'com.appsflyer:unity-wrapper:6.15.1'";
|
|
42
42
|
private const string ADJUST_DEP = " implementation 'com.adjust.sdk:adjust-android:4.33.4'";
|
|
43
|
-
private const string
|
|
43
|
+
private const string OBSOLETE_LINE_DEP = " implementation 'com.linecorp:linesdk:5.0.1'";
|
|
44
44
|
|
|
45
45
|
private const string CHROME_CUSTOM_TAB_DEP = " implementation 'androidx.browser:browser:1.4.0'";
|
|
46
46
|
|
|
47
|
+
private const string TwitterSupportPicasso = " implementation 'com.squareup.picasso:picasso:2.5.2'";
|
|
48
|
+
private const string TwitterSupportText = " implementation 'com.twitter:twitter-text:1.14.7'";
|
|
49
|
+
private const string TwitterSupportCoreUi = " implementation 'androidx.legacy:legacy-support-core-ui:1.0.0'";
|
|
50
|
+
private const string TwitterSupportRetrofitConvertGson = " implementation 'com.squareup.retrofit2:converter-gson:2.9.0'"; // Common 中也有,但是不影响,额外声明避免遗漏
|
|
51
|
+
private const string TwitterSupportAndroidXCore = " implementation 'androidx.core:core:1.5.0'";
|
|
52
|
+
|
|
53
|
+
private const string LineSdk = " implementation 'com.linecorp.linesdk:linesdk:5.8.1'";
|
|
54
|
+
private const string LineSupportViewModelKtx = " implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'"; // 原生 Demo 中使用 Firebase Crashlytics 使用的版本,不使用可能会造成 Duplicate Class 问题
|
|
55
|
+
|
|
47
56
|
#endregion
|
|
48
57
|
|
|
49
58
|
private HashSet<string> OBSOLETE_DEPS = new HashSet<string>()
|
|
@@ -94,8 +103,8 @@ namespace XD.SDK.Oversea.Editor
|
|
|
94
103
|
|
|
95
104
|
private HashSet<string> TwitterIncludeDeps = new HashSet<string>()
|
|
96
105
|
{
|
|
97
|
-
|
|
98
|
-
|
|
106
|
+
OBSOLETE_TWITTER_DEP,
|
|
107
|
+
OBSOLETE_TWITTE_COMPOSER_DEP
|
|
99
108
|
};
|
|
100
109
|
|
|
101
110
|
private HashSet<string> AppsflyerIncludeDeps = new HashSet<string>()
|
|
@@ -112,7 +121,22 @@ namespace XD.SDK.Oversea.Editor
|
|
|
112
121
|
|
|
113
122
|
private HashSet<string> LineIncludeDeps = new HashSet<string>()
|
|
114
123
|
{
|
|
115
|
-
|
|
124
|
+
OBSOLETE_LINE_DEP,
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
private readonly HashSet<string> _twitterSupportDeps = new HashSet<string>()
|
|
128
|
+
{
|
|
129
|
+
TwitterSupportPicasso,
|
|
130
|
+
TwitterSupportText,
|
|
131
|
+
TwitterSupportCoreUi,
|
|
132
|
+
TwitterSupportRetrofitConvertGson,
|
|
133
|
+
TwitterSupportAndroidXCore
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
private readonly HashSet<string> _lineSdkIncludeDeps = new HashSet<string>()
|
|
137
|
+
{
|
|
138
|
+
LineSdk,
|
|
139
|
+
LineSupportViewModelKtx,
|
|
116
140
|
};
|
|
117
141
|
|
|
118
142
|
public void OnPreprocessBuild(BuildReport report)
|
|
@@ -299,6 +323,11 @@ namespace XD.SDK.Oversea.Editor
|
|
|
299
323
|
writerHelper.Delete(dep);
|
|
300
324
|
}
|
|
301
325
|
|
|
326
|
+
foreach (var dep in _twitterSupportDeps)
|
|
327
|
+
{
|
|
328
|
+
writerHelper.Delete(dep);
|
|
329
|
+
}
|
|
330
|
+
|
|
302
331
|
foreach (var dep in AppsflyerIncludeDeps)
|
|
303
332
|
{
|
|
304
333
|
writerHelper.Delete(dep);
|
|
@@ -313,7 +342,14 @@ namespace XD.SDK.Oversea.Editor
|
|
|
313
342
|
{
|
|
314
343
|
writerHelper.Delete(dep);
|
|
315
344
|
}
|
|
345
|
+
|
|
346
|
+
foreach (var dep in _lineSdkIncludeDeps)
|
|
347
|
+
{
|
|
348
|
+
writerHelper.Delete(dep);
|
|
349
|
+
}
|
|
350
|
+
|
|
316
351
|
writerHelper.Dispose();
|
|
352
|
+
|
|
317
353
|
}
|
|
318
354
|
|
|
319
355
|
public List<AndroidGradleContext> GetGradleContext()
|
|
@@ -435,7 +471,7 @@ namespace XD.SDK.Oversea.Editor
|
|
|
435
471
|
|
|
436
472
|
if (configMd.twitter != null && !string.IsNullOrEmpty(configMd.twitter.consumer_key))
|
|
437
473
|
{
|
|
438
|
-
thirdPartyDeps.processContent.AddRange(
|
|
474
|
+
thirdPartyDeps.processContent.AddRange(_twitterSupportDeps);
|
|
439
475
|
}
|
|
440
476
|
|
|
441
477
|
if (configMd.appsflyer != null && (!string.IsNullOrEmpty(configMd.appsflyer.dev_key_android) || !string.IsNullOrEmpty(configMd.appsflyer.dev_key)))
|
|
@@ -450,7 +486,7 @@ namespace XD.SDK.Oversea.Editor
|
|
|
450
486
|
|
|
451
487
|
if (configMd.line != null && !string.IsNullOrEmpty(configMd.line.channel_id))
|
|
452
488
|
{
|
|
453
|
-
thirdPartyDeps.processContent.AddRange(
|
|
489
|
+
thirdPartyDeps.processContent.AddRange(_lineSdkIncludeDeps);
|
|
454
490
|
}
|
|
455
491
|
|
|
456
492
|
if (thirdPartyDeps.processContent.Count > 0)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#if UNITY_EDITOR && UNITY_ANDROID
|
|
2
|
-
using System;
|
|
3
2
|
using System.IO;
|
|
4
|
-
using LC.Newtonsoft.Json
|
|
3
|
+
using LC.Newtonsoft.Json;
|
|
5
4
|
using TapTap.AndroidDependencyResolver.Editor;
|
|
6
5
|
using UnityEditor.Android;
|
|
7
6
|
using UnityEngine;
|
|
@@ -12,8 +11,11 @@ namespace XD.SDK.Mainland.Editor
|
|
|
12
11
|
public class XDOverseaGenerateGradleAdapter : IPostGenerateGradleAndroidProject
|
|
13
12
|
{
|
|
14
13
|
private const string UnityLibraryName = "unityLibrary";
|
|
15
|
-
|
|
16
|
-
private const string
|
|
14
|
+
|
|
15
|
+
private const string TwitterComposerArtifact = "tweet-composer-3.3.1";
|
|
16
|
+
private const string TwitterUiArtifact = "tweet-ui-3.3.1";
|
|
17
|
+
private const string TwitterTwitterArtifact = "twitter-3.3.1";
|
|
18
|
+
private const string TwitterCoreArtifact = "twitter-core-3.3.1";
|
|
17
19
|
|
|
18
20
|
public int callbackOrder => AndroidGradleProcessor.CALLBACK_ORDER - 51;
|
|
19
21
|
|
|
@@ -22,10 +24,16 @@ namespace XD.SDK.Mainland.Editor
|
|
|
22
24
|
var xdConfigJsonPath = XDGCommonEditorUtils.GetXDConfigPath();
|
|
23
25
|
if (!File.Exists(xdConfigJsonPath))
|
|
24
26
|
{
|
|
27
|
+
Debug.LogError("XDConfig.json not found.");
|
|
25
28
|
return;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
var
|
|
31
|
+
var configMd = JsonConvert.DeserializeObject<XDConfigModel>(File.ReadAllText(xdConfigJsonPath));
|
|
32
|
+
if (configMd == null)
|
|
33
|
+
{
|
|
34
|
+
Debug.LogError("Parse XDConfig.json failed.");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
29
37
|
|
|
30
38
|
var rootPath = path;
|
|
31
39
|
if (rootPath.Contains(UnityLibraryName))
|
|
@@ -33,32 +41,48 @@ namespace XD.SDK.Mainland.Editor
|
|
|
33
41
|
rootPath = rootPath.Substring(0, rootPath.Length - UnityLibraryName.Length);
|
|
34
42
|
}
|
|
35
43
|
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
FixRepositories(rootPath);
|
|
39
|
-
}
|
|
44
|
+
FixTwitterDependencies(configMd, rootPath);
|
|
40
45
|
}
|
|
41
46
|
|
|
42
|
-
private static void
|
|
47
|
+
private static void FixTwitterDependencies(XDConfigModel configMd, string rootPath)
|
|
43
48
|
{
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var allContent = File.ReadAllText(settingsGradleFilePath);
|
|
49
|
+
if (configMd.twitter != null && !string.IsNullOrEmpty(configMd.twitter.consumer_key))
|
|
50
|
+
{
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
49
53
|
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
string buildGradleFilePath;
|
|
55
|
+
#if UNITY_2019_3_OR_NEWER
|
|
56
|
+
buildGradleFilePath = Path.Combine(rootPath, "unityLibrary/build.gradle");
|
|
57
|
+
#else
|
|
58
|
+
buildGradleFilePath = Path.Combine(rootPath, "build.gradle");
|
|
59
|
+
#endif
|
|
60
|
+
if (!File.Exists(buildGradleFilePath))
|
|
52
61
|
{
|
|
53
|
-
Debug.LogWarning(
|
|
62
|
+
Debug.LogWarning("Oversea Fix Dependencies failed, build.gradle file not found.");
|
|
54
63
|
return;
|
|
55
64
|
}
|
|
56
65
|
|
|
57
|
-
var
|
|
66
|
+
var allContentLines = File.ReadAllLines(buildGradleFilePath);
|
|
58
67
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
68
|
+
var hasChanged = false;
|
|
69
|
+
for (var i = 0; i < allContentLines.Length; i++)
|
|
70
|
+
{
|
|
71
|
+
var lineContent = allContentLines[i];
|
|
72
|
+
if (!lineContent.Contains(TwitterComposerArtifact)
|
|
73
|
+
&& !lineContent.Contains(TwitterUiArtifact)
|
|
74
|
+
&& !lineContent.Contains(TwitterTwitterArtifact)
|
|
75
|
+
&& !lineContent.Contains(TwitterCoreArtifact)) continue;
|
|
76
|
+
|
|
77
|
+
hasChanged = true;
|
|
78
|
+
Debug.LogFormat($"Disable dependencies: {lineContent}");
|
|
79
|
+
allContentLines[i] = "// " + lineContent;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (hasChanged)
|
|
83
|
+
{
|
|
84
|
+
File.WriteAllLines(buildGradleFilePath, allContentLines);
|
|
85
|
+
}
|
|
62
86
|
}
|
|
63
87
|
}
|
|
64
88
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/Plugins/{iOS/XDThirdTrackSDK.framework.meta → Android/libs/tweet-composer-3.3.1.aar.meta}
RENAMED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
fileFormatVersion: 2
|
|
2
|
-
guid:
|
|
3
|
-
folderAsset: yes
|
|
2
|
+
guid: 2db11c7827cd43349e2d67dead05b7c2
|
|
4
3
|
PluginImporter:
|
|
5
4
|
externalObjects: {}
|
|
6
5
|
serializedVersion: 2
|
|
@@ -13,10 +12,15 @@ PluginImporter:
|
|
|
13
12
|
validateReferences: 1
|
|
14
13
|
platformData:
|
|
15
14
|
- first:
|
|
16
|
-
|
|
15
|
+
Android: Android
|
|
17
16
|
second:
|
|
18
17
|
enabled: 1
|
|
19
18
|
settings: {}
|
|
19
|
+
- first:
|
|
20
|
+
Any:
|
|
21
|
+
second:
|
|
22
|
+
enabled: 0
|
|
23
|
+
settings: {}
|
|
20
24
|
- first:
|
|
21
25
|
Editor: Editor
|
|
22
26
|
second:
|
|
Binary file
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 31967ea79b414a3b9c7c02fa8840a8b6
|
|
3
|
+
PluginImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
iconMap: {}
|
|
7
|
+
executionOrder: {}
|
|
8
|
+
defineConstraints: []
|
|
9
|
+
isPreloaded: 0
|
|
10
|
+
isOverridable: 0
|
|
11
|
+
isExplicitlyReferenced: 0
|
|
12
|
+
validateReferences: 1
|
|
13
|
+
platformData:
|
|
14
|
+
- first:
|
|
15
|
+
Android: Android
|
|
16
|
+
second:
|
|
17
|
+
enabled: 1
|
|
18
|
+
settings: {}
|
|
19
|
+
- first:
|
|
20
|
+
Any:
|
|
21
|
+
second:
|
|
22
|
+
enabled: 0
|
|
23
|
+
settings: {}
|
|
24
|
+
- first:
|
|
25
|
+
Editor: Editor
|
|
26
|
+
second:
|
|
27
|
+
enabled: 0
|
|
28
|
+
settings:
|
|
29
|
+
DefaultValueInitialized: true
|
|
30
|
+
userData:
|
|
31
|
+
assetBundleName:
|
|
32
|
+
assetBundleVariant:
|
|
Binary file
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 63f308de74224cb5b979615ea6876ddf
|
|
3
|
+
PluginImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
iconMap: {}
|
|
7
|
+
executionOrder: {}
|
|
8
|
+
defineConstraints: []
|
|
9
|
+
isPreloaded: 0
|
|
10
|
+
isOverridable: 0
|
|
11
|
+
isExplicitlyReferenced: 0
|
|
12
|
+
validateReferences: 1
|
|
13
|
+
platformData:
|
|
14
|
+
- first:
|
|
15
|
+
Android: Android
|
|
16
|
+
second:
|
|
17
|
+
enabled: 1
|
|
18
|
+
settings: {}
|
|
19
|
+
- first:
|
|
20
|
+
Any:
|
|
21
|
+
second:
|
|
22
|
+
enabled: 0
|
|
23
|
+
settings: {}
|
|
24
|
+
- first:
|
|
25
|
+
Editor: Editor
|
|
26
|
+
second:
|
|
27
|
+
enabled: 0
|
|
28
|
+
settings:
|
|
29
|
+
DefaultValueInitialized: true
|
|
30
|
+
userData:
|
|
31
|
+
assetBundleName:
|
|
32
|
+
assetBundleVariant:
|
|
Binary file
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 54e7c94f51be4370a439662d6575ecfd
|
|
3
|
+
PluginImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
iconMap: {}
|
|
7
|
+
executionOrder: {}
|
|
8
|
+
defineConstraints: []
|
|
9
|
+
isPreloaded: 0
|
|
10
|
+
isOverridable: 0
|
|
11
|
+
isExplicitlyReferenced: 0
|
|
12
|
+
validateReferences: 1
|
|
13
|
+
platformData:
|
|
14
|
+
- first:
|
|
15
|
+
Android: Android
|
|
16
|
+
second:
|
|
17
|
+
enabled: 1
|
|
18
|
+
settings: {}
|
|
19
|
+
- first:
|
|
20
|
+
Any:
|
|
21
|
+
second:
|
|
22
|
+
enabled: 0
|
|
23
|
+
settings: {}
|
|
24
|
+
- first:
|
|
25
|
+
Editor: Editor
|
|
26
|
+
second:
|
|
27
|
+
enabled: 0
|
|
28
|
+
settings:
|
|
29
|
+
DefaultValueInitialized: true
|
|
30
|
+
userData:
|
|
31
|
+
assetBundleName:
|
|
32
|
+
assetBundleVariant:
|
|
Binary file
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>NSPrivacyTracking</key>
|
|
6
|
+
<false/>
|
|
7
|
+
<key>NSPrivacyTrackingDomains</key>
|
|
8
|
+
<array/>
|
|
9
|
+
<key>NSPrivacyCollectedDataTypes</key>
|
|
10
|
+
<array>
|
|
11
|
+
<dict>
|
|
12
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
13
|
+
<string>NSPrivacyCollectedDataTypeName</string>
|
|
14
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
15
|
+
<true/>
|
|
16
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
17
|
+
<false/>
|
|
18
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
19
|
+
<array>
|
|
20
|
+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
21
|
+
</array>
|
|
22
|
+
</dict>
|
|
23
|
+
<dict>
|
|
24
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
25
|
+
<string>NSPrivacyCollectedDataTypeEmailAddress</string>
|
|
26
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
27
|
+
<true/>
|
|
28
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
29
|
+
<false/>
|
|
30
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
31
|
+
<array>
|
|
32
|
+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
33
|
+
</array>
|
|
34
|
+
</dict>
|
|
35
|
+
<dict>
|
|
36
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
37
|
+
<string>NSPrivacyCollectedDataTypePhoneNumber</string>
|
|
38
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
39
|
+
<true/>
|
|
40
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
41
|
+
<false/>
|
|
42
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
43
|
+
<array>
|
|
44
|
+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
45
|
+
</array>
|
|
46
|
+
</dict>
|
|
47
|
+
<dict>
|
|
48
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
49
|
+
<string>NSPrivacyCollectedDataTypeOtherDataTypes</string>
|
|
50
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
51
|
+
<true/>
|
|
52
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
53
|
+
<false/>
|
|
54
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
55
|
+
<array>
|
|
56
|
+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
57
|
+
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
|
|
58
|
+
</array>
|
|
59
|
+
</dict>
|
|
60
|
+
<dict>
|
|
61
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
62
|
+
<string>NSPrivacyCollectedDataTypeCoarseLocation</string>
|
|
63
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
64
|
+
<true/>
|
|
65
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
66
|
+
<false/>
|
|
67
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
68
|
+
<array>
|
|
69
|
+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
70
|
+
</array>
|
|
71
|
+
</dict>
|
|
72
|
+
<dict>
|
|
73
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
74
|
+
<string>NSPrivacyCollectedDataTypeUserID</string>
|
|
75
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
76
|
+
<true/>
|
|
77
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
78
|
+
<false/>
|
|
79
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
80
|
+
<array>
|
|
81
|
+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
82
|
+
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
|
|
83
|
+
</array>
|
|
84
|
+
</dict>
|
|
85
|
+
<dict>
|
|
86
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
87
|
+
<string>NSPrivacyCollectedDataTypeDeviceID</string>
|
|
88
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
89
|
+
<true/>
|
|
90
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
91
|
+
<false/>
|
|
92
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
93
|
+
<array>
|
|
94
|
+
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
|
|
95
|
+
</array>
|
|
96
|
+
</dict>
|
|
97
|
+
<dict>
|
|
98
|
+
<key>NSPrivacyCollectedDataType</key>
|
|
99
|
+
<string>NSPrivacyCollectedDataTypeOtherUsageData</string>
|
|
100
|
+
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
101
|
+
<true/>
|
|
102
|
+
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
103
|
+
<false/>
|
|
104
|
+
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
105
|
+
<array>
|
|
106
|
+
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
|
|
107
|
+
</array>
|
|
108
|
+
</dict>
|
|
109
|
+
</array>
|
|
110
|
+
<key>NSPrivacyAccessedAPITypes</key>
|
|
111
|
+
<array>
|
|
112
|
+
<dict>
|
|
113
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
114
|
+
<array>
|
|
115
|
+
<string>CA92.1</string>
|
|
116
|
+
</array>
|
|
117
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
118
|
+
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
|
119
|
+
</dict>
|
|
120
|
+
</array>
|
|
121
|
+
</dict>
|
|
122
|
+
</plist>
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "تسجيل الدخول باستخدام Google";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "تسجيل الدخول باستخدام Google";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "احصل على تطبيق Google المجاني وسجل الدخول إلى التطبيقات من خلال حساب Google. لا توجد حاجة لتذكر كلمات المرور.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "إلغاء";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "جلب";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "موافق";
|
|
21
9
|
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "Inicia la sessió amb Google";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "Inicia la sessió amb Google";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "Obteniu l'aplicació Google gratuïta i inicieu la sessió a les aplicacions amb el vostre compte de Google. D'aquesta manera, ja no haureu de recordar cap més contrasenya.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "Cancel·la";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "Obtén";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "D’acord";
|
|
21
9
|
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "Přihlásit se účtem Google";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "Přihlašujte se účtem Google";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "Nainstalujte si zdarma aplikaci Google a přihlašujte se do aplikací pomocí účtu Google. Nebudete si už muset pamatovat spoustu hesel.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "Zrušit";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "Instalovat";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "OK";
|
|
21
9
|
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "Log ind med Google";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "Log ind med Google";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "Hent den gratis Google-app, og log ind på apps med din Google-konto. Du slipper for at huske på adgangskoder.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "Annuller";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "Hent";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "OK";
|
|
21
9
|
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "Über Google anmelden";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "Über Google anmelden";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "Installieren Sie die kostenlose Google App und melden Sie sich mit Ihrem Google-Konto in Apps an. So müssen Sie sich keine Passwörter mehr merken.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "Abbrechen";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "Installieren";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "OK";
|
|
21
9
|
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "Συνδεθείτε με το Google";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "Συνδεθείτε με το Google";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "Αποκτήστε τη δωρεάν εφαρμογή Google και συνδεθείτε σε εφαρμογές με το Λογαριασμό σας Google. Δεν χρειάζεται να απομνημονεύετε κωδικούς πρόσβασης.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "Ακύρωση";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "Λήψη";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "ΟΚ";
|
|
21
9
|
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
/* Long form sign-in button text */
|
|
5
5
|
"Sign in with Google" = "Sign in with Google";
|
|
6
6
|
|
|
7
|
-
/* The title of the promotional prompt to install the Google app. */
|
|
8
|
-
"PromoTitle" = "Sign in with Google";
|
|
9
|
-
|
|
10
|
-
/* The body message of the promotional prompt to install the Google app. */
|
|
11
|
-
"PromoMessage" = "Get the free Google app and sign in to apps with your Google Account. No need to remember passwords.";
|
|
12
|
-
|
|
13
|
-
/* The cancel button on the promotional prompt to install the Google app. */
|
|
14
|
-
"PromoActionCancel" = "Cancel";
|
|
15
|
-
|
|
16
|
-
/* The install button on the promotional prompt to install the Google app. */
|
|
17
|
-
"PromoActionInstall" = "Get";
|
|
18
|
-
|
|
19
7
|
/* The text for the button for user to acknowledge and dismiss a dialog. */
|
|
20
8
|
"OK" = "OK";
|
|
21
9
|
|