添加皮肤模块 - 2

This commit is contained in:
wangcongtao
2020-08-28 15:16:03 +08:00
parent 8794ad282a
commit 6abe68b77d
36 changed files with 29 additions and 3116 deletions

View File

@@ -4,11 +4,7 @@ import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
import com.alibaba.android.arouter.launcher.ARouter;
import com.auto.zhidao.logsdk.CrashSystem;
@@ -44,15 +40,6 @@ import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
import com.zhidao.mogo.tanlu.api.TanluApiConst;
import java.lang.reflect.Constructor;
import skin.support.SkinCompatManager;
import skin.support.app.SkinAppCompatViewInflater;
import skin.support.app.SkinCardViewInflater;
import skin.support.app.SkinLayoutInflater;
import skin.support.constraint.app.SkinConstraintViewInflater;
import skin.support.design.app.SkinMaterialViewInflater;
/**
* @author congtaowang
* @since 2019-12-18

View File

@@ -46,8 +46,10 @@ dependencies {
implementation rootProject.ext.dependencies.accountsdk
if (Boolean.valueOf(RELEASE)) {
implementation rootProject.ext.dependencies.mogoutils
implementation rootProject.ext.dependencies.skinsupport
} else {
implementation project(":foudations:mogo-utils")
implementation project(":skin:mogo-skin-support")
}
api 'org.greenrobot:eventbus:3.1.1'
}

View File

@@ -10,9 +10,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.app.SkinAppCompatDelegateImpl;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.skin.support.MogoSkinManager;
import com.mogo.utils.SoftKeyBoardJobber;
/**
@@ -29,9 +29,9 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
@Override
protected void onCreate( @Nullable Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
if ( DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD ) {
requestWindowFeature( Window.FEATURE_NO_TITLE );
getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN );
}
setContentView( getLayoutId() );
initViews();
@@ -77,6 +77,7 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
}
return onTouchEvent( ev );
}
protected boolean enableDispatchTouchEventToDismissSoftKeyBoard() {
return true;
}
@@ -94,6 +95,6 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
@NonNull
@Override
public AppCompatDelegate getDelegate() {
return SkinAppCompatDelegateImpl.get(this, this);
return MogoSkinManager.getInstance().getInstaller().getSkinAppCompatDelegate( this, this );
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.commons.network;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.storage.SpStorage;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.Util;

View File

@@ -1,18 +0,0 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package com.mogo.connection;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String LIBRARY_PACKAGE_NAME = "com.mogo.connection";
/**
* @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
*/
@Deprecated
public static final String APPLICATION_ID = "com.mogo.connection";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.2.1.9";
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.connection"
android:versionCode="1"
android:versionName="1.2.1.9" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22" />
</manifest>

View File

@@ -1 +0,0 @@
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.2.1.9","enabled":true,"outputFile":"mogo-connection-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"com.mogo.connection","split":""}}]

View File

@@ -1 +0,0 @@
{"jetified-arouter-compiler-1.2.2.jar (com.alibaba:arouter-compiler:1.2.2)":false,"auto-service-1.0-rc2.jar (com.google.auto.service:auto-service:1.0-rc2)":false}

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/debug/jniLibs"/></dataSet></merger>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/debug/shaders"/></dataSet></merger>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/assets"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/debug/assets"/></dataSet></merger>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">mogo-connection</string>
</resources>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/res"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/build/generated/res/rs/debug"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/res"><file path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">mogo-connection</string></file></source><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/build/generated/res/rs/debug"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/debug/res"/></dataSet><mergedItems/></merger>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.connection"
android:versionCode="1"
android:versionName="1.2.1.9" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22" />
</manifest>

View File

@@ -1,3 +0,0 @@
R_DEF: Internal format may change without notice
local
string app_name

View File

@@ -1,13 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.mogo.connection"
4 android:versionCode="1"
5 android:versionName="1.2.1.9" >
6
7 <uses-sdk
8 android:minSdkVersion="19"
8-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
9 android:targetSdkVersion="22" />
9-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
10
11</manifest>

View File

@@ -1 +0,0 @@
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.2.1.9","enabled":true,"outputFile":"mogo-connection-debug.aar","fullName":"debug","baseName":"debug"},"path":"../../library_manifest/debug/AndroidManifest.xml","properties":{"packageId":"com.mogo.connection","split":""}}]

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">mogo-connection</string>
</resources>

View File

@@ -1,37 +0,0 @@
-- Merging decision tree log ---
manifest
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
package
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:2:5-34
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
android:versionName
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
android:versionCode
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:1-2:37
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
xmlns:android
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml:1:11-69
uses-sdk
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml reason: use-sdk injection requested
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
android:targetSdkVersion
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
android:minSdkVersion
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/foudations/mogo-connection/src/main/AndroidManifest.xml

View File

@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.skin.support">
package="com.mogo.skin.support.impl">
/
</manifest>

View File

@@ -1,9 +1,13 @@
package com.mogo.skin.support.impl;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.app.SkinAppCompatDelegateImpl;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
@@ -56,8 +60,8 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller {
}
@Override
public AppCompatDelegate getSkinAppCompatDelegate( AppCompatDelegate delegate ) {
return null;
public AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatCallback callback ) {
return SkinAppCompatDelegateImpl.get( activity, callback );
}
@Override

View File

@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.skin.support">
package="com.mogo.skin.support.noop">
/
</manifest>

View File

@@ -3,6 +3,10 @@ package com.mogo.skin.support.noop;
import android.app.Application;
import android.content.Context;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
import com.mogo.skin.support.SkinMode;
@@ -31,6 +35,11 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller {
Logger.d( TAG, "noop - loadSkin" );
}
@Override
public AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatCallback callback ) {
return activity.getDelegate();
}
@Override
public void init( Context context ) {

View File

@@ -38,15 +38,6 @@ dependencies {
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
annotationProcessor rootProject.ext.dependencies.aroutercompiler
// 换肤功能
implementation 'skin.support:skin-support:4.0.5' // skin-support
implementation 'skin.support:skin-support-appcompat:4.0.5' // skin-support 基础控件支持
implementation 'skin.support:skin-support-design:4.0.5' // skin-support-design material design 控件支持[可选]
implementation 'skin.support:skin-support-cardview:4.0.5' // skin-support-cardview CardView 控件支持[可选]
implementation 'skin.support:skin-support-constraint-layout:4.0.5' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -2,6 +2,8 @@ package com.mogo.skin.support;
import android.app.Application;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import com.alibaba.android.arouter.facade.template.IProvider;
@@ -19,5 +21,5 @@ interface IMogoSkinSupportInstaller extends IProvider {
void loadSkin( SkinMode skinMode );
AppCompatDelegate getSkinAppCompatDelegate( AppCompatDelegate delegate );
AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatCallback callback );
}