Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
Notes
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bixing
Notes
Commits
3ea1952b
Commit
3ea1952b
authored
Nov 06, 2023
by
bixing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
4bb04fea
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
283 additions
and
17 deletions
+283
-17
build.gradle
app/build.gradle
+20
-0
proguard-rules.pro
app/proguard-rules.pro
+243
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-1
NoteEditActivity.java
app/src/main/java/com/ads/cal/notes/NoteEditActivity.java
+3
-1
activity_edit.xml
app/src/main/res/layout/activity_edit.xml
+16
-14
No files found.
app/build.gradle
View file @
3ea1952b
...
@@ -30,8 +30,28 @@ android {
...
@@ -30,8 +30,28 @@ android {
}
}
}
}
}
}
signingConfigs
{
toolsTest
{
storeFile
file
(
"../test.jks"
)
storePassword
'123456'
keyAlias
'key0'
keyPassword
'123456'
}
}
flavorDimensions
"versionName"
productFlavors
{
notes
{
applicationId
"com.ads.cal.notes"
versionName
"1.0.0.0"
signingConfig
signingConfigs
.
toolsTest
}
}
}
}
dependencies
{
dependencies
{
implementation
'androidx.appcompat:appcompat:1.6.1'
implementation
'androidx.appcompat:appcompat:1.6.1'
...
...
app/proguard-rules.pro
View file @
3ea1952b
...
@@ -18,4 +18,246 @@
...
@@ -18,4 +18,246 @@
# If you keep the line number information, uncomment this to
# If you keep the line number information, uncomment this to
# hide the original source file name.
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-renamesourcefileattribute SourceFile
\ No newline at end of file
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-
dontpreverify
-
flattenpackagehierarchy
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
verbose
-
useuniqueclassmembernames
-
ignorewarnings
#基础模板开始
# 保护注解
-
keepattributes
*
Annotation
*
-
keepattributes
*
JavascriptInterface
*
# Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and
# EnclosingMethod is required to use InnerClasses.
#泛型 内部类 反射
-
keepattributes
Signature
,
InnerClasses
,
EnclosingMethod
#显示代码行数
-
keepattributes
Exceptions
,
SourceFile
,
LineNumberTable
-
keep
public
class
*
$
JavaScriptInterface
-
keepattributes
*
$
JavaScriptInterface
-
keepclassmembers
class
*
{
@
android
.
webkit
.
JavascriptInterface
<
methods
>
;
}
-
keepclassmembers
class
*
extends
android
.
webkit
.
WebViewClient
{
*
;
}
# Understand the @Keep support annotation.
-
keep
class
android
.
support
.
annotation
.
Keep
-
keep
@
android
.
support
.
annotation
.
Keep
class
*
{
*
;}
-
keepclasseswithmembers
class
*
{
@
android
.
support
.
annotation
.
Keep
<
methods
>
;
}
-
keepclasseswithmembers
class
*
{
@
android
.
support
.
annotation
.
Keep
<
fields
>
;
}
-
keepclasseswithmembers
class
*
{
@
android
.
support
.
annotation
.
Keep
<
init
>
(...);
}
#【不进行混淆保持原样】
-
keep
public
class
*
extends
android
.
view
.
View
-
keep
public
class
*
extends
android
.
app
.
Fragment
-
keep
public
class
*
extends
android
.
app
.
Activity
-
keep
public
class
*
extends
android
.
app
.
Application
-
keep
public
class
*
extends
android
.
app
.
Service
-
keep
public
class
*
extends
android
.
content
.
BroadcastReceiver
-
keep
public
class
*
extends
android
.
content
.
ContentProvider
-
keep
public
class
*
extends
android
.
app
.
backup
.
BackupAgentHelper
-
keep
public
class
*
extends
android
.
preference
.
Preference
#commom
-
keep
public
class
com
.
google
.
vending
.
licensing
.
ILicensingService
-
keep
public
class
com
.
android
.
vending
.
licensing
.
ILicensingService
-
keep
public
class
*
extends
android
.
support
.
**
-
keep
class
com
.
google
.
**
{
*
;
}
-
keep
class
android
.
webkit
.
**
{
*
;}
-
keep
class
org
.
apache
.
**
{
*
;
}
-
keep
public
class
android
.
**
{
*
;
}
-
keepclassmembers
public
class
android
.
**
{
*
;
}
# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-
keepclasseswithmembernames
class
*
{
native
<
methods
>
;
}
# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-
keepclassmembers
public
class
*
extends
android
.
view
.
View
{
void
set
*
(
***
);
***
get
*
();
public
<
init
>
(
android
.
content
.
Context
);
public
<
init
>
(
android
.
content
.
Context
,
android
.
util
.
AttributeSet
);
public
<
init
>
(
android
.
content
.
Context
,
android
.
util
.
AttributeSet
,
int
);
}
# We want to keep methods in Activity that could be used in the XML attribute onClick
-
keepclassmembers
class
*
extends
android
.
app
.
Activity
{
public
void
*
(
android
.
view
.
View
);
}
# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-
keepclassmembers
enum
*
{
public
static
**
[]
values
();
public
static
**
valueOf
(
java
.
lang
.
String
);
}
-
keep
class
*
implements
android
.
os
.
Parcelable
{
*
;}
-
keepclassmembers
class
*
implements
android
.
os
.
Parcelable
{
*
;}
-
keep
class
*
implements
java
.
io
.
Serializable
{
*
;}
-
keepclassmembers
class
*
implements
java
.
io
.
Serializable
{
*
;}
-
keepclassmembers
enum
*
{
public
static
**
[]
values
();
public
static
**
valueOf
(
java
.
lang
.
String
);
}
-
keepclassmembers
class
**.
R
$
*
{
public
static
<
fields
>
;
}
#基础模板结束
#utilcode
-
keep
class
com
.
blankj
.
utilcode
.
**
{
*
;
}
-
keepclassmembers
class
com
.
blankj
.
utilcode
.
**
{
*
;
}
-
keepclassmembers
class
*
{
@
com
.
blankj
.
utilcode
.
util
.
BusUtils
$
Bus
<
methods
>
;
}
-
dontwarn
com
.
blankj
.
utilcode
.
**
-
dontwarn
javax
.
annotation
.
**
-
dontwarn
javax
.
inject
.
**
# OkHttp3
-
dontwarn
okhttp3
.
**
-
dontwarn
okio
.
**
-
dontwarn
javax
.
annotation
.
**
# A resource is loaded with a relative path so the package of this class must be preserved.
-
keepnames
class
okhttp3
.
internal
.
publicsuffix
.
PublicSuffixDatabase
#okhttp
-
dontwarn
okhttp3
.
**
-
keep
class
okhttp3
.
*
{
*
;}
#okio
-
dontwarn
okio
.
**
-
keep
class
okio
.
*
{
*
;}
# Retrofit
-
dontwarn
retrofit2
.
**
-
keep
class
retrofit2
.
**
{
*
;
}
-
keepattributes
Signature
-
keepattributes
# Gson
-
keep
class
com
.
google
.
gson
.
stream
.
**
{
*
;
}
-
keepattributes
EnclosingMethod
-
keep
class
org
.
xz_sale
.
entity
.
**
{
*
;}
# agentWeb
-
keep
class
com
.
just
.
agentweb
.
**
{
*
;
}
-
keepclassmembers
class
*
implements
java
.
io
.
Serializable
{
static
final
long
serialVersionUID
;
private
static
final
java
.
io
.
ObjectStreamField
[]
serialPersistentFields
;
!
static
!
transient
<
fields
>
;
private
void
writeObject
(
java
.
io
.
ObjectOutputStream
);
private
void
readObject
(
java
.
io
.
ObjectInputStream
);
java
.
lang
.
Object
writeReplace
();
java
.
lang
.
Object
readResolve
();
}
##Glide
-
keep
class
com
.
bumptech
.
glide
.
**
{
*
;}
-
keep
public
enum
com
.
bumptech
.
glide
.
load
.
ImageHeaderParser
$
**
{
**
[]
$
VALUES
;
public
*
;
}
-
keep
public
class
*
implements
com
.
bumptech
.
glide
.
module
.
GlideModule
-
keep
public
enum
com
.
bumptech
.
glide
.
load
.
resource
.
bitmap
.
ImageHeaderParser
$
**
{
**
[]
$
VALUES
;
public
*
;
}
-
keep
public
class
*
extends
com
.
bumptech
.
glide
.
module
.
AppGlideModule
-
keep
class
com
.
bumptech
.
glide
.
GeneratedAppGlideModuleImpl
{
*
;
}
#alibaba arouter start
-
keep
public
class
com
.
alibaba
.
android
.
arouter
.
routes
.
**
{
*
;}
-
keep
public
class
com
.
alibaba
.
android
.
arouter
.
facade
.
**
{
*
;}
-
keep
class
*
implements
com
.
alibaba
.
android
.
arouter
.
facade
.
template
.
ISyringe
{
*
;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-
keep
interface
*
implements
com
.
alibaba
.
android
.
arouter
.
facade
.
template
.
IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-
keep
class
*
implements
com
.
alibaba
.
android
.
arouter
.
facade
.
template
.
IProvider
#alibaba arouter end
#kotlinx start
-
keep
class
kotlinx
.
**
{
*
;
}
-
keep
class
kotlin
.
**
{
*
;
}
-
keepclassmembers
class
**
$
WhenMappings
{
<
fields
>
;
}
-
keepclassmembers
class
kotlin
.
Metadata
{
public
<
methods
>
;
}
-
assumenosideeffects
class
kotlin
.
jvm
.
internal
.
Intrinsics
{
static
void
checkParameterIsNotNull
(
java
.
lang
.
Object
,
java
.
lang
.
String
);
}
#kotlinx end
#9.22版本新增加混淆
-
keep
class
android
.
support
.
v7
.
widget
.
RecyclerView
{
*
;}
-
keepnames
class
android
.
support
.
v7
.
widget
.
RecyclerView
$
*
{
public
<
fields
>
;
public
<
methods
>
;
}
#android
-
keep
class
android
.
**
{
*
;}
-
keep
class
androidx
.
**
{
*
;}
-
keep
class
android
.
support
.
**
{
*
;}
-
keep
class
android
.
content
.
**
{
*
;}
-
keep
class
android
.
app
.
**
{
*
;}
-
keep
class
android
.
os
.
**
{
*
;}
-
keep
class
android
.
net
.
**
{
*
;}
-
keep
class
android
.
provider
.
**
{
*
;}
-
keep
class
com
.
ads
.
cal
.
notes
.
bean
.
**
{
*
;}
#com.github
-
keep
class
com
.
github
.
**
{
*
;}
#com.google
-
keep
class
com
.
google
.
**
{
*
;}
#org.
-
keep
class
org
.
**
{
*
;
}
app/src/main/AndroidManifest.xml
View file @
3ea1952b
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:exported=
"true"
android:exported=
"true"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:windowSoftInputMode=
"adjust
Unspecified|adjustPan|adjust
Resize"
/>
android:windowSoftInputMode=
"adjustResize"
/>
<activity
<activity
android:name=
"com.ads.cal.notes.AbActivity"
android:name=
"com.ads.cal.notes.AbActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:configChanges=
"orientation|screenSize|keyboardHidden"
...
...
app/src/main/java/com/ads/cal/notes/NoteEditActivity.java
View file @
3ea1952b
...
@@ -41,6 +41,8 @@ public class NoteEditActivity extends BaseActivity {
...
@@ -41,6 +41,8 @@ public class NoteEditActivity extends BaseActivity {
ImageView
delete
=
findViewById
(
R
.
id
.
delete
);
ImageView
delete
=
findViewById
(
R
.
id
.
delete
);
ImageView
save
=
findViewById
(
R
.
id
.
save
);
ImageView
save
=
findViewById
(
R
.
id
.
save
);
editText
=
findViewById
(
R
.
id
.
ed_text
);
editText
=
findViewById
(
R
.
id
.
ed_text
);
editText
.
requestFocus
();
editText
.
requestLayout
();
back
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
back
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
...
@@ -113,7 +115,7 @@ public class NoteEditActivity extends BaseActivity {
...
@@ -113,7 +115,7 @@ public class NoteEditActivity extends BaseActivity {
finish
();
finish
();
return
;
return
;
}
}
if
(
!
TextUtils
.
isEmpty
(
content
))
{
if
(
TextUtils
.
isEmpty
(
content
))
{
delete
();
delete
();
return
;
return
;
}
}
...
...
app/src/main/res/layout/activity_edit.xml
View file @
3ea1952b
...
@@ -33,23 +33,25 @@
...
@@ -33,23 +33,25 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_centerVertical=
"true"
android:src=
"@mipmap/icon_done"
android:layout_marginEnd=
"20dp"
android:layout_marginEnd=
"20dp"
android:layout_toStartOf=
"@+id/delete"
/>
android:layout_toStartOf=
"@+id/delete"
android:src=
"@mipmap/icon_done"
/>
</RelativeLayout>
</RelativeLayout>
<EditText
<EditText
android:id=
"@+id/ed_text"
android:id=
"@+id/ed_text"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"top"
android:background=
"@null"
android:background=
"@null"
android:gravity=
"top"
android:paddingStart=
"20dp"
android:paddingStart=
"20dp"
android:paddingTop=
"20dp"
android:focusable=
"true"
android:textColor=
"#2D3034"
android:focusableInTouchMode=
"true"
android:textSize=
"16sp"
android:paddingTop=
"20dp"
android:paddingEnd=
"20dp"
/>
android:paddingBottom=
"20dp"
android:paddingEnd=
"20dp"
android:textColor=
"#2D3034"
android:textSize=
"16sp"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment