Skip to content

Commit f1be79f

Browse files
authored
v3.0
- Kotlin source - Multiple bug fixes - Test
2 parents ea6a3a7 + f6d8848 commit f1be79f

File tree

19 files changed

+436
-202
lines changed

19 files changed

+436
-202
lines changed

app/build.gradle

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ android {
2626
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
2727
}
2828
}
29+
30+
compileOptions {
31+
sourceCompatibility 1.8
32+
targetCompatibility 1.8
33+
}
2934
}
3035

3136
repositories {
@@ -40,9 +45,9 @@ dependencies {
4045
})
4146
implementation 'com.android.support:appcompat-v7:28.0.0'
4247
testImplementation 'junit:junit:4.12'
43-
implementation project(path: ':library')
48+
// implementation project(path: ':library')
4449
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
45-
// implementation "com.stringcare:library:$stringcare_version"
50+
implementation "com.stringcare:library:$stringcare_version"
4651
}
4752

4853

app/src/main/java/com/efraespada/stringobfuscator/MainActivity.java

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import android.os.Bundle;
44
import android.support.v7.app.AppCompatActivity;
5-
import android.util.Log;
6-
import android.view.View;
75
import android.widget.TextView;
86

97
import com.stringcare.library.SC;
@@ -19,36 +17,30 @@ protected void onCreate(Bundle savedInstanceState) {
1917

2018
SC.init(getApplicationContext());
2119

22-
// 108, 97, 108, 105, 108, 117, 108, 101, 108, 111, 10, 104, 111, 108, 105 works
23-
// 108, 97, 108, 105, 108, 117, 108, 101, 108, 111, 92, 110, 104, 111, 108, 105 not works
24-
25-
// secret var
26-
String password = getString(R.string.snake);
27-
String original = SC.reveal(R.string.snake, Version.V2);
20+
String password = getString(R.string.snake_msg_hidden);
21+
String original = SC.reveal(password, Version.V3);
2822

2923
String message = "Snake, the password is " + password + original;
3024

31-
((TextView) findViewById(R.id.example_a)).setText(message);
32-
33-
String numbers = getString(R.string.test_a, "hi", 3) + " is " + SC.reveal(R.string.test_a, "hi", 3);
34-
((TextView) findViewById(R.id.example_b)).setText(numbers);
25+
((TextView) findViewById(R.id.programmatically_obfuscation)).setText(message);
3526

36-
Log.e("test", String.valueOf(getString(R.string.snake2).equals(SC.reveal(R.string.snake))));
27+
String numbers = getString(R.string.pattern, "hi", 3) + " is " + SC.reveal(R.string.pattern, "hi", 3);
28+
((TextView) findViewById(R.id.pattern)).setText(numbers);
3729

3830
final SCTextView tvAuto = findViewById(R.id.auto_tv);
39-
findViewById(R.id.btn_change).setOnClickListener(new View.OnClickListener() {
40-
@Override
41-
public void onClick(View v) {
42-
if (tvAuto.isHtmlEnabled()) {
43-
tvAuto.htmlEnabled(!tvAuto.isHtmlEnabled());
44-
} else if (tvAuto.isVisible()){
45-
tvAuto.visible(!tvAuto.isVisible());
46-
} else if (!tvAuto.isVisible()){
47-
tvAuto.visible(!tvAuto.isVisible());
48-
tvAuto.htmlEnabled(!tvAuto.isHtmlEnabled());
49-
}
31+
findViewById(R.id.btn_change).setOnClickListener(v -> {
32+
if (tvAuto.isHtmlEnabled()) {
33+
tvAuto.htmlEnabled(!tvAuto.isHtmlEnabled());
34+
} else if (tvAuto.isVisible()){
35+
tvAuto.visible(!tvAuto.isVisible());
36+
} else if (!tvAuto.isVisible()){
37+
tvAuto.visible(!tvAuto.isVisible());
38+
tvAuto.htmlEnabled(!tvAuto.isHtmlEnabled());
5039
}
5140
});
5241

42+
boolean equals = SC.reveal(R.string.hello_world_b).equals(getString(R.string.hello_world_a));
43+
String areEquals = "Same result: " + equals;
44+
((TextView) findViewById(R.id.same_value)).setText(areEquals);
5345
}
5446
}

app/src/main/res/layout/activity_main.xml

Lines changed: 109 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
android:layout_width="match_parent"
77
android:layout_height="match_parent"
88
android:background="@android:color/background_light"
9-
android:paddingLeft="@dimen/activity_horizontal_margin"
10-
android:paddingTop="@dimen/activity_vertical_margin"
11-
android:paddingRight="@dimen/activity_horizontal_margin"
12-
android:paddingBottom="@dimen/activity_vertical_margin"
139
tools:context="com.efraespada.stringobfuscator.MainActivity">
1410

1511
<ScrollView
@@ -21,44 +17,147 @@
2117
android:layout_height="wrap_content"
2218
android:orientation="vertical">
2319

20+
<TextView
21+
android:layout_width="wrap_content"
22+
android:layout_height="wrap_content"
23+
android:layout_gravity="start"
24+
android:layout_marginTop="15dp"
25+
android:paddingLeft="@dimen/activity_horizontal_margin"
26+
android:paddingRight="@dimen/activity_horizontal_margin"
27+
style="@style/TextAppearance.AppCompat.Title"
28+
android:text="@string/html_treatment"
29+
android:padding="25dp"
30+
android:textColor="@android:color/black" />
31+
2432
<com.stringcare.library.SCTextView
2533
android:id="@+id/auto_tv"
2634
android:layout_width="wrap_content"
2735
android:layout_height="wrap_content"
2836
android:layout_gravity="center_horizontal"
2937
android:layout_marginTop="15dp"
30-
android:padding="10dp"
38+
android:padding="25dp"
3139
android:text="@string/hello"
3240
android:textColor="@android:color/black"
33-
app:html="false"
41+
app:html="true"
3442
app:visible="false" />
3543

3644
<Button
3745
android:id="@+id/btn_change"
3846
style="@style/Widget.AppCompat.Button.Borderless.Colored"
3947
android:layout_width="wrap_content"
4048
android:layout_height="wrap_content"
49+
android:paddingTop="10dp"
50+
android:paddingEnd="25dp"
51+
android:paddingStart="25dp"
4152
android:layout_gravity="end"
4253
android:text="Change" />
4354

4455
<TextView
45-
android:id="@+id/example_a"
56+
android:layout_width="wrap_content"
57+
android:layout_height="wrap_content"
58+
android:layout_gravity="start"
59+
android:layout_marginTop="15dp"
60+
style="@style/TextAppearance.AppCompat.Title"
61+
android:text="@string/programmatically_obfuscation"
62+
android:padding="25dp"
63+
android:textColor="@android:color/black" />
64+
65+
<TextView
66+
android:id="@+id/programmatically_obfuscation"
4667
android:layout_width="wrap_content"
4768
android:layout_height="wrap_content"
4869
android:layout_gravity="center_horizontal"
4970
android:layout_marginTop="15dp"
50-
android:padding="10dp"
71+
android:padding="25dp"
72+
android:textColor="@android:color/black" />
73+
74+
<TextView
75+
android:layout_width="wrap_content"
76+
android:layout_height="wrap_content"
77+
android:layout_gravity="start"
78+
android:layout_marginTop="15dp"
79+
style="@style/TextAppearance.AppCompat.Title"
80+
android:text="@string/patterns"
81+
android:padding="25dp"
5182
android:textColor="@android:color/black" />
5283

5384
<TextView
54-
android:id="@+id/example_b"
85+
android:id="@+id/pattern"
5586
android:layout_width="wrap_content"
5687
android:layout_height="wrap_content"
5788
android:layout_gravity="center_horizontal"
5889
android:layout_marginTop="15dp"
59-
android:padding="10dp"
90+
android:padding="25dp"
6091
android:textColor="@android:color/black" />
6192

93+
<TextView
94+
android:layout_width="wrap_content"
95+
android:layout_height="wrap_content"
96+
android:layout_gravity="start"
97+
android:layout_marginTop="15dp"
98+
style="@style/TextAppearance.AppCompat.Title"
99+
android:text="@string/long_new_line_comparison"
100+
android:padding="25dp"
101+
android:textColor="@android:color/black" />
102+
103+
<TextView
104+
android:id="@+id/same_value"
105+
android:layout_width="wrap_content"
106+
android:layout_height="wrap_content"
107+
android:layout_gravity="start"
108+
android:layout_marginTop="15dp"
109+
android:paddingStart="25dp"
110+
android:paddingEnd="25dp"
111+
android:textColor="@android:color/black" />
112+
113+
<com.stringcare.library.SCTextView
114+
android:layout_width="wrap_content"
115+
android:layout_height="wrap_content"
116+
android:layout_gravity="center_horizontal"
117+
android:layout_marginTop="15dp"
118+
android:paddingStart="25dp"
119+
android:paddingEnd="25dp"
120+
android:textSize="12sp"
121+
android:text="@string/hello_world_b"
122+
android:textColor="@android:color/black"
123+
app:html="false"
124+
app:visible="true" />
125+
126+
<TextView
127+
android:layout_width="wrap_content"
128+
android:layout_height="wrap_content"
129+
android:layout_gravity="center_horizontal"
130+
android:layout_marginTop="15dp"
131+
android:text="@string/hello_world_a"
132+
android:textSize="12sp"
133+
android:paddingStart="25dp"
134+
android:paddingEnd="25dp"
135+
android:textColor="@android:color/darker_gray" />
136+
137+
<TextView
138+
android:layout_width="wrap_content"
139+
android:layout_height="wrap_content"
140+
android:layout_gravity="start"
141+
android:layout_marginTop="15dp"
142+
android:paddingStart="25dp"
143+
android:paddingEnd="25dp"
144+
android:text="@string/string_resource_disabling_android_treatment"
145+
android:textColor="@android:color/black" />
146+
147+
<com.stringcare.library.SCTextView
148+
android:layout_width="wrap_content"
149+
android:layout_height="wrap_content"
150+
android:layout_gravity="center_horizontal"
151+
android:paddingStart="25dp"
152+
android:paddingEnd="25dp"
153+
android:layout_marginTop="15dp"
154+
android:textSize="12sp"
155+
android:text="@string/hello_world_c"
156+
android:textColor="@android:color/black"
157+
app:html="false"
158+
app:androidTreatment="false"
159+
app:visible="true" />
160+
62161
</LinearLayout>
63162

64163
</ScrollView>

app/src/main/res/values/strings.xml

100755100644
Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<string name="app_name">String Obfuscator Sample</string>
4-
<string name="hello" hidden="true">
5-
<br><i>Hello there</i>
6-
<br>General <strong>Kenobi</strong>.<br>
4+
<string name="hello" hidden="true" androidTreatment="false" containsHtml="true">
5+
<i>Hello <strong>there</strong></i><br></br>
6+
General <strong>Kenobi</strong>.
77
</string>
8-
<string name="test_a" hidden="true">%1$s (%2$d)</string>
9-
<string name="snake" hidden="true">\n\nla-li-lu-le-lo\n\n🐍😄🍉</string>
10-
<string name="snake2">\n\nla-li-lu-le-lo\n\n🐍😄🍉</string>
8+
<string name="pattern" hidden="true">%1$s (%2$d)</string>
9+
<string name="snake_msg_hidden" hidden="true">\n\nla-li-lu-le-lo\n\n🐍😄🍉</string>
10+
<string name="hello_world_a">Hello
11+
World
12+
</string>
13+
<string name="hello_world_b" hidden="true">Hello
14+
World
15+
</string>
16+
<string name="hello_world_c" hidden="true" androidTreatment="false">Hello
17+
World
18+
</string>
19+
<string name="long_new_line_comparison">Long New Line Comparison</string>
20+
<string name="html_treatment">HTML treatment</string>
21+
<string name="programmatically_obfuscation">Programmatically Obfuscation</string>
22+
<string name="patterns">Patterns</string>
23+
<string name="string_resource_disabling_android_treatment">String resource disabling Android treatment:</string>
1124
</resources>

build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ buildscript {
33
ext.kotlin_version = '1.3.31'
44

55
ext {
6-
stringcare_version = '2.2'
6+
stringcare_version = '3.0'
77
}
88

99
repositories {
@@ -16,8 +16,9 @@ buildscript {
1616
}
1717

1818
dependencies {
19-
//classpath "com.stringcare:plugin:2.2"
20-
classpath files('../GradlePlugin/build/libs/plugin-2.2.jar')
19+
classpath "com.stringcare:plugin:$stringcare_version"
20+
// classpath files('../GradlePlugin/build/libs/plugin-2.2.jar')
21+
// classpath files('../KotlinGradlePlugin/build/libs/plugin-2.2.jar')
2122
// classpath files('..\\GradlePlugin\\build\\libs\\plugin-0.9.jar')
2223
classpath 'com.android.tools.build:gradle:3.4.1'
2324
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.1"

library/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
# Sets the minimum version of CMake required to build the native library.
55

6-
cmake_minimum_required(VERSION 3.14.4)
6+
cmake_minimum_required(VERSION 3.10.2)
77

88
# Creates and names a library, sets it as either STATIC
99
# or SHARED, and provides the relative paths to its source code.

library/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apply plugin: 'kotlin-android'
44
apply plugin: 'com.github.dcendents.android-maven'
55
apply plugin: 'com.jfrog.bintray'
66

7-
version = "2.2"
7+
version = "3.0"
88

99
android {
1010
compileSdkVersion 28
@@ -46,6 +46,7 @@ dependencies {
4646
exclude group: 'com.android.support', module: 'support-annotations'
4747
})
4848
implementation 'com.android.support:appcompat-v7:28.0.0'
49+
implementation 'org.apache.commons:commons-lang3:3.9'
4950
testImplementation 'junit:junit:4.12'
5051
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
5152
}

0 commit comments

Comments
 (0)