xbWang 3 months ago
commit
ab9e9e5ab2
100 changed files with 637 additions and 0 deletions
  1. 15 0
      .gitignore
  2. 3 0
      .idea/.gitignore
  3. 6 0
      .idea/compiler.xml
  4. 20 0
      .idea/gradle.xml
  5. 8 0
      .idea/inspectionProfiles/Project_Default.xml
  6. 10 0
      .idea/misc.xml
  7. 1 0
      app/.gitignore
  8. 110 0
      app/build.gradle
  9. BIN
      app/debug/app-debug.apk
  10. 20 0
      app/debug/output-metadata.json
  11. BIN
      app/libs/open_sdk_3.5.17.3_r75955a58_lite.jar
  12. 285 0
      app/proguard-rules.pro
  13. 26 0
      app/src/androidTest/java/com/fgw/fgw/ExampleInstrumentedTest.java
  14. 115 0
      app/src/main/AndroidManifest.xml
  15. 0 0
      app/src/main/assets/AppInfoList.txt
  16. 0 0
      app/src/main/assets/LibFile.txt
  17. 0 0
      app/src/main/assets/PageInfoList.txt
  18. 0 0
      app/src/main/assets/SystemSet.txt
  19. 2 0
      app/src/main/assets/sources/static/css/crop.css
  20. 0 0
      app/src/main/assets/sources/static/css/main.css
  21. 0 0
      app/src/main/assets/sources/static/css/main.v2.css
  22. 0 0
      app/src/main/assets/sources/static/css/main.v3.css
  23. 5 0
      app/src/main/assets/sources/static/css/mescroll.min.css
  24. 11 0
      app/src/main/assets/sources/static/css/swiper.min.css
  25. BIN
      app/src/main/assets/sources/static/images/activity-bg.jpg
  26. BIN
      app/src/main/assets/sources/static/images/addbtn.png
  27. BIN
      app/src/main/assets/sources/static/images/addpicicon.png
  28. BIN
      app/src/main/assets/sources/static/images/afterstartphoto1.png
  29. BIN
      app/src/main/assets/sources/static/images/afterstartphoto2.png
  30. BIN
      app/src/main/assets/sources/static/images/afterstartphoto3.png
  31. BIN
      app/src/main/assets/sources/static/images/bg.png
  32. BIN
      app/src/main/assets/sources/static/images/close-btn.png
  33. BIN
      app/src/main/assets/sources/static/images/collectionbtn.png
  34. BIN
      app/src/main/assets/sources/static/images/collectionbtn_w.png
  35. BIN
      app/src/main/assets/sources/static/images/default.jpg
  36. BIN
      app/src/main/assets/sources/static/images/fgw_hd_back.png
  37. BIN
      app/src/main/assets/sources/static/images/fgw_share.png
  38. BIN
      app/src/main/assets/sources/static/images/friendbtn.png
  39. BIN
      app/src/main/assets/sources/static/images/friendbtn_w.png
  40. BIN
      app/src/main/assets/sources/static/images/glory-icon.png
  41. BIN
      app/src/main/assets/sources/static/images/headline-icon.png
  42. BIN
      app/src/main/assets/sources/static/images/icon-Share.png
  43. BIN
      app/src/main/assets/sources/static/images/icon-comment.png
  44. BIN
      app/src/main/assets/sources/static/images/icon-discuz.png
  45. BIN
      app/src/main/assets/sources/static/images/icon-doc-cur.png
  46. BIN
      app/src/main/assets/sources/static/images/icon-doc.png
  47. BIN
      app/src/main/assets/sources/static/images/icon-double-cur.png
  48. BIN
      app/src/main/assets/sources/static/images/icon-double.png
  49. BIN
      app/src/main/assets/sources/static/images/icon-interaction-cur.png
  50. BIN
      app/src/main/assets/sources/static/images/icon-interaction.png
  51. BIN
      app/src/main/assets/sources/static/images/icon-like-a.png
  52. BIN
      app/src/main/assets/sources/static/images/icon-like.png
  53. BIN
      app/src/main/assets/sources/static/images/icon-liveroom-cur.png
  54. BIN
      app/src/main/assets/sources/static/images/icon-liveroom.png
  55. BIN
      app/src/main/assets/sources/static/images/icon-news-cur.png
  56. BIN
      app/src/main/assets/sources/static/images/icon-news.png
  57. BIN
      app/src/main/assets/sources/static/images/icon-packup.png
  58. BIN
      app/src/main/assets/sources/static/images/icon-reference-cur.png
  59. BIN
      app/src/main/assets/sources/static/images/icon-reference.png
  60. BIN
      app/src/main/assets/sources/static/images/icon-reform-cur.png
  61. BIN
      app/src/main/assets/sources/static/images/icon-reform.png
  62. BIN
      app/src/main/assets/sources/static/images/icon-setting.png
  63. BIN
      app/src/main/assets/sources/static/images/icon-user.png
  64. BIN
      app/src/main/assets/sources/static/images/icon-userinfo-edit.png
  65. BIN
      app/src/main/assets/sources/static/images/icon_tabbar.png
  66. BIN
      app/src/main/assets/sources/static/images/index-btn-icon1.png
  67. BIN
      app/src/main/assets/sources/static/images/index-btn-icon2.png
  68. BIN
      app/src/main/assets/sources/static/images/index-btn-icon3.png
  69. BIN
      app/src/main/assets/sources/static/images/index-btn-icon4.png
  70. BIN
      app/src/main/assets/sources/static/images/index-btn-icon5.png
  71. BIN
      app/src/main/assets/sources/static/images/index-btn-icon6.png
  72. BIN
      app/src/main/assets/sources/static/images/index-btn-icon7.png
  73. BIN
      app/src/main/assets/sources/static/images/index-btn-icon8.png
  74. BIN
      app/src/main/assets/sources/static/images/index-data-btn-icon.png
  75. BIN
      app/src/main/assets/sources/static/images/indexbg.png
  76. BIN
      app/src/main/assets/sources/static/images/infoedit.png
  77. BIN
      app/src/main/assets/sources/static/images/invite-btn1.png
  78. BIN
      app/src/main/assets/sources/static/images/invite-btn2.png
  79. BIN
      app/src/main/assets/sources/static/images/invite-btn3.png
  80. BIN
      app/src/main/assets/sources/static/images/left.png
  81. BIN
      app/src/main/assets/sources/static/images/leftw.png
  82. BIN
      app/src/main/assets/sources/static/images/loading.gif
  83. BIN
      app/src/main/assets/sources/static/images/location-icon.png
  84. BIN
      app/src/main/assets/sources/static/images/logo.png
  85. BIN
      app/src/main/assets/sources/static/images/main_title.png
  86. BIN
      app/src/main/assets/sources/static/images/menu-icon1.png
  87. BIN
      app/src/main/assets/sources/static/images/menu-icon2.png
  88. BIN
      app/src/main/assets/sources/static/images/menu-icon3.png
  89. BIN
      app/src/main/assets/sources/static/images/menu-icon4.png
  90. BIN
      app/src/main/assets/sources/static/images/menu-icon5.png
  91. BIN
      app/src/main/assets/sources/static/images/menu-icon6.png
  92. BIN
      app/src/main/assets/sources/static/images/menu-icon7.png
  93. BIN
      app/src/main/assets/sources/static/images/menu-icon8.png
  94. BIN
      app/src/main/assets/sources/static/images/mescroll-empty.png
  95. BIN
      app/src/main/assets/sources/static/images/mescroll-totop.png
  96. BIN
      app/src/main/assets/sources/static/images/message-icon.png
  97. BIN
      app/src/main/assets/sources/static/images/qq-btn.png
  98. BIN
      app/src/main/assets/sources/static/images/qq-zone-btn.png
  99. BIN
      app/src/main/assets/sources/static/images/set_btn.png
  100. BIN
      app/src/main/assets/sources/static/images/startadphoto.png

+ 15 - 0
.gitignore

@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties

+ 3 - 0
.idea/.gitignore

@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml

+ 6 - 0
.idea/compiler.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="17" />
+  </component>
+</project>

+ 20 - 0
.idea/gradle.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="GRADLE" />
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleJvm" value="jbr-17" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+          </set>
+        </option>
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>

+ 8 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,8 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="JavadocDeclaration" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="ADDITIONAL_TAGS" value="date" />
+    </inspection_tool>
+  </profile>
+</component>

+ 10 - 0
.idea/misc.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>

+ 1 - 0
app/.gitignore

@@ -0,0 +1 @@
+/build

+ 110 - 0
app/build.gradle

@@ -0,0 +1,110 @@
+plugins {
+    id 'com.android.application'
+}
+
+android {
+    namespace 'com.fgw.fgw'
+    compileSdk 33
+
+    defaultConfig {
+        applicationId "com.fgw.fgw"
+        minSdk 24
+        targetSdk 33
+        versionCode 19
+        versionName "3.0.1"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+
+        multiDexEnabled true
+        ndk {
+            abiFilters "armeabi-v7a", "arm64-v8a"
+        }
+
+    }
+
+    buildTypes {
+        release {
+            //开启混淆
+            minifyEnabled true
+            //压缩优化
+            zipAlignEnabled true
+//            //移出无用资源
+//            shrinkResources false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+}
+
+dependencies {
+
+    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
+    implementation 'androidx.appcompat:appcompat:1.5.1'
+    implementation 'com.google.android.material:material:1.6.1'
+    testImplementation 'junit:junit:4.13.2'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+
+    //动态权限申请框架:https://github.com/getActivity/XXPermissions
+    implementation 'com.github.getActivity:XXPermissions:20.0'
+
+    //glide图片加载:https://github.com/bumptech/glide
+    implementation 'com.github.bumptech.glide:glide:4.15.1'
+    annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'
+
+    //Easyhttp:https://github.com/getActivity/EasyHttp
+    implementation 'com.github.getActivity:EasyHttp:12.8'
+
+    //okhttp3网络请求框架:https://github.com/square/okhttp
+    implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.11'
+
+    //提示框布局
+    implementation 'androidx.cardview:cardview:1.0.0'
+
+    //图片圆角:https://github.com/hdodenhof/CircleImageView
+    implementation 'de.hdodenhof:circleimageview:2.1.0'
+
+    //沉浸式状态栏ImmersionBar:https://github.com/gyf-dev/ImmersionBar
+    implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'
+
+    implementation 'com.readystatesoftware.systembartint:systembartint:1.0.3'
+
+    //角标绘制:https://github.com/bingoogolapple/BGABadgeView-Android
+    implementation 'com.github.bingoogolapple.BGABadgeView-Android:api:1.2.0'
+    annotationProcessor 'com.github.bingoogolapple.BGABadgeView-Android:compiler:1.2.0'
+
+    //标题栏:https://github.com/getActivity/TitleBar
+    implementation 'com.github.getActivity:TitleBar:10.0'
+
+    //zip:https://github.com/srikanth-lingala/zip4jw
+    implementation 'net.lingala.zip4j:zip4j:2.10.0'
+
+    //QMUI:https://github.com/Tencent/QMUI_Android
+    implementation 'com.qmuiteam:qmui:2.0.0-alpha10'
+
+    //吐司框架:https://github.com/getActivity/Toaster
+    implementation 'com.github.getActivity:Toaster:12.2'
+
+    //MMKV本地存储:https://github.com/Tencent/MMKV
+    implementation 'com.tencent:mmkv-static:1.3.3'
+
+    //xpopup:https://github.com/li-xiaojun/XPopup
+    implementation('com.github.li-xiaojun:XPopup:2.10.0') {
+        exclude group: "com.davemorrissey.labs", module: "subsampling-scale-image-view-androidx"
+    }
+
+    //ShapeView:https://github.com/getActivity/ShapeView
+    implementation 'com.github.getActivity:ShapeView:9.0'
+
+    //Logger日志框架:https://github.com/orhanobut/logger
+    implementation 'com.orhanobut:logger:2.2.0'
+
+    //腾讯libpag的核心库
+    implementation 'com.tencent.tav:libpag:4.2.81'
+
+    //微信sdk:https://open.weixin.qq.com
+    api 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.18'
+}

BIN
app/debug/app-debug.apk


+ 20 - 0
app/debug/output-metadata.json

@@ -0,0 +1,20 @@
+{
+  "version": 3,
+  "artifactType": {
+    "type": "APK",
+    "kind": "Directory"
+  },
+  "applicationId": "com.fgw.fgw",
+  "variantName": "debug",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "attributes": [],
+      "versionCode": 19,
+      "versionName": "3.0.1",
+      "outputFile": "app-debug.apk"
+    }
+  ],
+  "elementType": "File"
+}

BIN
app/libs/open_sdk_3.5.17.3_r75955a58_lite.jar


+ 285 - 0
app/proguard-rules.pro

@@ -0,0 +1,285 @@
+# 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
+
+# -----------------------------基本 -----------------------------
+#
+
+# 指定代码的压缩级别 0 - 7(指定代码进行迭代优化的次数,在Android里面默认是5,这条指令也只有在可以优化时起作用。)
+-optimizationpasses 5
+# 混淆时不会产生形形色色的类名(混淆时不使用大小写混合类名)
+-dontusemixedcaseclassnames
+# 指定不去忽略非公共的库类(不跳过library中的非public的类)
+-dontskipnonpubliclibraryclasses
+# 指定不去忽略包可见的库类的成员
+-dontskipnonpubliclibraryclassmembers
+#不进行优化,建议使用此选项,
+-dontoptimize
+ # 不进行预校验,Android不需要,可加快混淆速度。
+-dontpreverify
+# 屏蔽警告
+-ignorewarnings
+# 指定混淆是采用的算法,后面的参数是一个过滤器
+# 这个过滤器是谷歌推荐的算法,一般不做更改
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+# 保护代码中的Annotation不被混淆
+-keepattributes *Annotation*
+# 避免混淆泛型, 这在JSON实体映射时非常重要
+-keepattributes Signature
+# 抛出异常时保留代码行号
+-keepattributes SourceFile,LineNumberTable
+ #优化时允许访问并修改有修饰符的类和类的成员,这可以提高优化步骤的结果。
+# 比如,当内联一个公共的getter方法时,这也可能需要外地公共访问。
+# 虽然java二进制规范不需要这个,要不然有的虚拟机处理这些代码会有问题。当有优化和使用-repackageclasses时才适用。
+#指示语:不能用这个指令处理库中的代码,因为有的类和类成员没有设计成public ,而在api中可能变成public
+-allowaccessmodification
+#当有优化和使用-repackageclasses时才适用。
+-repackageclasses ''
+ # 混淆时记录日志(打印混淆的详细信息)
+ # 这句话能够使我们的项目混淆后产生映射文件
+ # 包含有类名->混淆后类名的映射关系
+-verbose
+#
+##
+## ----------------------------- 默认保留 -----------------------------
+##
+##----------------------------------------------------
+## 保持哪些类不被混淆
+##继承activity,application,service,broadcastReceiver,contentprovider....不进行混淆
+-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
+-keep public class * extends android.view.View
+-keep class android.support.** {*;}## 保留support下的所有类及其内部类
+#
+##表示不混淆上面声明的类,最后这两个类我们基本也用不上,是接入Google原生的一些服务时使用的。
+##----------------------------------------------------
+#
+## 保留继承的
+#-keep public class * extends android.support.v4.**
+#-keep public class * extends android.support.v7.**
+#-keep public class * extends android.support.annotation.**
+#
+#
+##表示不混淆任何包含native方法的类的类名以及native方法名,这个和我们刚才验证的结果是一致
+-keepclasseswithmembernames class ** {
+    native <methods>;
+}
+##这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
+##表示不混淆Activity中参数是View的方法,因为有这样一种用法,在XML中配置android:onClick=”buttonClick”属性,
+##当用户点击该按钮时就会调用Activity中的buttonClick(View view)方法,如果这个方法被混淆的话就找不到了
+-keepclassmembers class * extends android.app.Activity{
+    public void *(android.view.View);
+}
+#
+##表示不混淆枚举中的values()和valueOf()方法,枚举我用的非常少,这个就不评论了
+-keepclassmembers enum * {
+    public static **[] values();
+    public static ** valueOf(java.lang.String);
+}
+#
+##表示不混淆任何一个View中的setXxx()和getXxx()方法,
+##因为属性动画需要有相应的setter和getter的方法实现,混淆了就无法工作了。
+-keep public class * extends android.view.View{
+    *** get*();
+    void set*(***);
+    public <init>(android.content.Context);
+    public <init>(android.content.Context, android.util.AttributeSet);
+    public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+-keepclasseswithmembers class * {
+    public <init>(android.content.Context, android.util.AttributeSet);
+    public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+#
+##表示不混淆Parcelable实现类中的CREATOR字段,
+##毫无疑问,CREATOR字段是绝对不能改变的,包括大小写都不能变,不然整个Parcelable工作机制都会失败。
+-keep class * implements android.os.Parcelable {
+  public static final android.os.Parcelable$Creator *;
+}
+## 这指定了继承Serizalizable的类的如下成员不被移除混淆
+-keepclassmembers class * implements java.io.Serializable {
+    static final long serialVersionUID;
+    private static final java.io.ObjectStreamField[] serialPersistentFields;
+    private void writeObject(java.io.ObjectOutputStream);
+    private void readObject(java.io.ObjectInputStream);
+    java.lang.Object writeReplace();
+    java.lang.Object readResolve();
+}
+## 保留R下面的资源
+#-keep class **.R$* {
+# *;
+#}
+##不混淆资源类下static的
+##-keepclassmembers class **.R$* {
+##    public static <fields>;
+##}
+#
+## 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆
+-keepclassmembers class * {
+    void *(**On*Event);
+    void *(**On*Listener);
+}
+#
+## 保留我们自定义控件(继承自View)不被混淆
+-keep public class * extends android.view.View{
+    *** get*();
+    void set*(***);
+    public <init>(android.content.Context);
+    public <init>(android.content.Context, android.util.AttributeSet);
+    public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+#
+##
+##----------------------------- WebView(项目中没有可以忽略) -----------------------------
+##
+##webView需要进行特殊处理
+#-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
+#   public *;
+#}
+#-keepclassmembers class * extends android.webkit.WebViewClient {
+#    public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
+#    public boolean *(android.webkit.WebView, java.lang.String);
+#}
+#-keepclassmembers class * extends android.webkit.WebViewClient {
+#    public void *(android.webkit.WebView, jav.lang.String);
+#}
+#在app中与HTML5的JavaScript的交互进行特殊处理
+#我们需要确保这些js要调用的原生方法不能够被混淆,于是我们需要做如下处理:
+#-keepclassmembers class com.ljd.example.JSInterface {
+#    <methods>;
+#}
+#
+##
+##---------------------------------实体类---------------------------------
+##--------(实体Model不能混淆,否则找不到对应的属性获取不到值)-----
+##
+-keep class com.example.odm.garbagesorthelper.model.entity.** { *; }
+-dontwarn  com.example.odm.garbagesorthelper.model.entity.**
+#对含有反射类的处理
+-keep class com.example.odm.garbagesorthelper.utils.** { *; }
+
+#---------------------------------EasyHttp混淆---------------------------------
+# OkHttp3 框架混淆规则
+-keepattributes Signature
+-keepattributes *Annotation*
+-keep class okhttp3.** { *; }
+-keep interface okhttp3.** { *; }
+-dontwarn okhttp3.**
+-dontwarn okio.**
+# EasyHttp 框架混淆规则
+-keep class com.hjq.http.** {*;}
+# 必须要加上此规则,否则会导致泛型解析失败
+-keep class * implements com.hjq.http.listener.OnHttpListener {
+    *;
+}
+
+-keep class * extends com.hjq.http.model.ResponseClass {
+    *;
+}
+#---------------------------------微信混淆---------------------------------
+-keep class com.tencent.mm.opensdk.** {
+    *;
+}
+
+-keep class com.tencent.wxop.** {
+    *;
+}
+
+-keep class com.tencent.mm.sdk.** {
+    *;
+}
+#---------------------------------QQ混淆---------------------------------
+-keep class * extends android.app.Dialog
+#---------------------------------华为OCR混淆---------------------------------
+-ignorewarnings
+-keepattributes *Annotation*
+-keepattributes Exceptions
+-keepattributes InnerClasses
+-keepattributes Signature
+-keepattributes SourceFile,LineNumberTable
+-keep class com.huawei.hianalytics.**{*;}
+-keep class com.huawei.updatesdk.**{*;}
+-keep class com.huawei.hms.**{*;}
+#      OkHttp相关
+-keepattributes Signature
+-keepattributes *Annotation*
+-keep class com.squareup.okhttp3.** { *; }
+-keep interface com.squareup.okhttp3.** { *; }
+-dontwarn com.squareup.okhttp3.**
+#      Okio相关
+-dontwarn java.nio.file.*
+-dontwarn okio.**
+ #     UIL相关
+-keep class com.nostra13.universalimageloader.** { *; }
+-keepclassmembers class com.nostra13.universalimageloader.** {*;}
+-dontwarn com.nostra13.universalimageloader.**
+#      Glide相关
+-keep class com.bumptech.glide.Glide { *; }
+-keep public class * implements com.bumptech.glide.module.GlideModule
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
+  **[] $VALUES;
+  public *;
+}
+-dontwarn com.bumptech.glide.**
+ #     Picasso相关
+-dontwarn com.squareup.okhttp.**
+-dontwarn com.squareup.picasso.**
+#     xUtils3相关
+-keepattributes Signature,*Annotation*
+-keep public class org.xutils.** {
+    public protected *;
+}
+-keep public interface org.xutils.** {
+    public protected *;
+}
+-keepclassmembers class * extends org.xutils.** {
+    public protected *;
+}
+-keepclassmembers @org.xutils.db.annotation.* class * {*;}
+-keepclassmembers @org.xutils.http.annotation.* class * {*;}
+-dontwarn org.xutils.**
+#---------------------------------XPopup混淆---------------------------------
+-dontwarn com.lxj.xpopup.widget.**
+-keep class com.lxj.xpopup.widget.**{*;}
+#---------------------------------Aria---------------------------------
+-keep class com.arialyy.**{*;}
+-dontwarn com.arialyy.aria.**
+-keep class com.arialyy.aria.**{*;}
+-keep class **$$DownloadListenerProxy{ *; }
+-keep class **$$UploadListenerProxy{ *; }
+-keep class **$$DownloadGroupListenerProxy{ *; }
+-keep class **$$DGSubListenerProxy{ *; }
+-keepclasseswithmembernames class * {
+    @Download.* <methods>;
+    @Upload.* <methods>;
+    @DownloadGroup.* <methods>;
+}
+#---------------------------------腾讯PAG混淆---------------------------------
+ -keep class org.libpag.** {*;}
+    -keep class androidx.exifinterface.** {*;}
+
+#---------------------------------Toaster混淆---------------------------------
+    -keep class com.hjq.toast.** {*;}

+ 26 - 0
app/src/androidTest/java/com/fgw/fgw/ExampleInstrumentedTest.java

@@ -0,0 +1,26 @@
+package com.fgw.fgw;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+    @Test
+    public void useAppContext() {
+        // Context of the app under test.
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        assertEquals("com.fgw.fgw", appContext.getPackageName());
+    }
+}

+ 115 - 0
app/src/main/AndroidManifest.xml

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:tool="http://schemas.android.com/apk/distribution">
+
+    <!-- 网络相关 -->
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <!-- 外部存储 -->
+    <uses-permission
+        android:name="android.permission.READ_EXTERNAL_STORAGE"
+        tools:ignore="ScopedStorage" />
+    <uses-permission
+        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
+        tools:ignore="ScopedStorage" />
+    <!-- android13读取音视频和图片 -->
+    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
+    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
+    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
+    <!-- 震动 -->
+    <uses-permission android:name="android.permission.VIBRATE" />
+
+    <application
+        android:name=".app.MainApplication"
+        android:allowBackup="false"
+        android:dataExtractionRules="@xml/data_extraction_rules"
+        android:fullBackupContent="@xml/backup_rules"
+        android:hardwareAccelerated="true"
+        android:requestLegacyExternalStorage="true"
+        android:label="@string/application_name"
+        android:icon="@mipmap/ic_launcher"
+        android:roundIcon="@mipmap/ic_launcher_round"
+        android:supportsRtl="true"
+        android:theme="@style/Theme.GGSJ"
+        tools:targetApi="31"
+        android:usesCleartextTraffic="true"
+        tool:ignore="LockedOrientationActivity"
+        tools:replace="label,theme,supportsRtl,android:allowBackup">
+
+        <activity
+            android:name=".activity.WebActivity"
+            android:screenOrientation="portrait"
+            tools:ignore="LockedOrientationActivity" />
+
+        <activity
+            android:name=".activity.PublicWebActivity"
+            android:screenOrientation="portrait"
+            tools:ignore="LockedOrientationActivity" />
+
+        <activity
+            android:name=".activity.MainActivity"
+            android:exported="true"
+            android:launchMode="singleTask"
+            android:screenOrientation="portrait"
+            tools:ignore="LockedOrientationActivity">
+            <intent-filter>
+                <data
+                    android:host="main"
+                    android:scheme="omega" />
+
+                <action android:name="android.intent.action.VIEW" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+            </intent-filter>
+        </activity>
+
+        <activity
+            android:name=".activity.SplashActivity"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <activity
+            android:name=".wxapi.WXEntryActivity"
+            android:configChanges="keyboardHidden|orientation|screenSize"
+            android:exported="true"
+            android:label="@string/application_name"
+            android:taskAffinity="@string/package_name"
+            android:launchMode="singleTask"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
+
+        <activity
+            android:name="com.tencent.tauth.AuthActivity"
+            android:noHistory="true"
+            android:launchMode="singleTask"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="@string/qq_app_id" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name="com.tencent.connect.common.AssistActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize"
+            android:screenOrientation="behind"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
+
+    </application>
+    <queries>
+        <package android:name="com.tencent.mm" />
+        <package android:name="com.tencent.mobileqq" />
+        <package android:name="com.tencent.tim" />
+        <package android:name="com.tencent.minihd.qq" />
+        <package android:name="com.tencent.qqlite" />
+    </queries>
+</manifest>

File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/AppInfoList.txt


File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/LibFile.txt


File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/PageInfoList.txt


File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/SystemSet.txt


File diff suppressed because it is too large
+ 2 - 0
app/src/main/assets/sources/static/css/crop.css


File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/sources/static/css/main.css


File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/sources/static/css/main.v2.css


File diff suppressed because it is too large
+ 0 - 0
app/src/main/assets/sources/static/css/main.v3.css


File diff suppressed because it is too large
+ 5 - 0
app/src/main/assets/sources/static/css/mescroll.min.css


File diff suppressed because it is too large
+ 11 - 0
app/src/main/assets/sources/static/css/swiper.min.css


BIN
app/src/main/assets/sources/static/images/activity-bg.jpg


BIN
app/src/main/assets/sources/static/images/addbtn.png


BIN
app/src/main/assets/sources/static/images/addpicicon.png


BIN
app/src/main/assets/sources/static/images/afterstartphoto1.png


BIN
app/src/main/assets/sources/static/images/afterstartphoto2.png


BIN
app/src/main/assets/sources/static/images/afterstartphoto3.png


BIN
app/src/main/assets/sources/static/images/bg.png


BIN
app/src/main/assets/sources/static/images/close-btn.png


BIN
app/src/main/assets/sources/static/images/collectionbtn.png


BIN
app/src/main/assets/sources/static/images/collectionbtn_w.png


BIN
app/src/main/assets/sources/static/images/default.jpg


BIN
app/src/main/assets/sources/static/images/fgw_hd_back.png


BIN
app/src/main/assets/sources/static/images/fgw_share.png


BIN
app/src/main/assets/sources/static/images/friendbtn.png


BIN
app/src/main/assets/sources/static/images/friendbtn_w.png


BIN
app/src/main/assets/sources/static/images/glory-icon.png


BIN
app/src/main/assets/sources/static/images/headline-icon.png


BIN
app/src/main/assets/sources/static/images/icon-Share.png


BIN
app/src/main/assets/sources/static/images/icon-comment.png


BIN
app/src/main/assets/sources/static/images/icon-discuz.png


BIN
app/src/main/assets/sources/static/images/icon-doc-cur.png


BIN
app/src/main/assets/sources/static/images/icon-doc.png


BIN
app/src/main/assets/sources/static/images/icon-double-cur.png


BIN
app/src/main/assets/sources/static/images/icon-double.png


BIN
app/src/main/assets/sources/static/images/icon-interaction-cur.png


BIN
app/src/main/assets/sources/static/images/icon-interaction.png


BIN
app/src/main/assets/sources/static/images/icon-like-a.png


BIN
app/src/main/assets/sources/static/images/icon-like.png


BIN
app/src/main/assets/sources/static/images/icon-liveroom-cur.png


BIN
app/src/main/assets/sources/static/images/icon-liveroom.png


BIN
app/src/main/assets/sources/static/images/icon-news-cur.png


BIN
app/src/main/assets/sources/static/images/icon-news.png


BIN
app/src/main/assets/sources/static/images/icon-packup.png


BIN
app/src/main/assets/sources/static/images/icon-reference-cur.png


BIN
app/src/main/assets/sources/static/images/icon-reference.png


BIN
app/src/main/assets/sources/static/images/icon-reform-cur.png


BIN
app/src/main/assets/sources/static/images/icon-reform.png


BIN
app/src/main/assets/sources/static/images/icon-setting.png


BIN
app/src/main/assets/sources/static/images/icon-user.png


BIN
app/src/main/assets/sources/static/images/icon-userinfo-edit.png


BIN
app/src/main/assets/sources/static/images/icon_tabbar.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon1.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon2.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon3.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon4.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon5.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon6.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon7.png


BIN
app/src/main/assets/sources/static/images/index-btn-icon8.png


BIN
app/src/main/assets/sources/static/images/index-data-btn-icon.png


BIN
app/src/main/assets/sources/static/images/indexbg.png


BIN
app/src/main/assets/sources/static/images/infoedit.png


BIN
app/src/main/assets/sources/static/images/invite-btn1.png


BIN
app/src/main/assets/sources/static/images/invite-btn2.png


BIN
app/src/main/assets/sources/static/images/invite-btn3.png


BIN
app/src/main/assets/sources/static/images/left.png


BIN
app/src/main/assets/sources/static/images/leftw.png


BIN
app/src/main/assets/sources/static/images/loading.gif


BIN
app/src/main/assets/sources/static/images/location-icon.png


BIN
app/src/main/assets/sources/static/images/logo.png


BIN
app/src/main/assets/sources/static/images/main_title.png


BIN
app/src/main/assets/sources/static/images/menu-icon1.png


BIN
app/src/main/assets/sources/static/images/menu-icon2.png


BIN
app/src/main/assets/sources/static/images/menu-icon3.png


BIN
app/src/main/assets/sources/static/images/menu-icon4.png


BIN
app/src/main/assets/sources/static/images/menu-icon5.png


BIN
app/src/main/assets/sources/static/images/menu-icon6.png


BIN
app/src/main/assets/sources/static/images/menu-icon7.png


BIN
app/src/main/assets/sources/static/images/menu-icon8.png


BIN
app/src/main/assets/sources/static/images/mescroll-empty.png


BIN
app/src/main/assets/sources/static/images/mescroll-totop.png


BIN
app/src/main/assets/sources/static/images/message-icon.png


BIN
app/src/main/assets/sources/static/images/qq-btn.png


BIN
app/src/main/assets/sources/static/images/qq-zone-btn.png


BIN
app/src/main/assets/sources/static/images/set_btn.png


BIN
app/src/main/assets/sources/static/images/startadphoto.png


Some files were not shown because too many files changed in this diff