Commit e83c498b authored by 王雪伟's avatar 王雪伟

first

parents
Pipeline #625 failed with stages
*.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
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8" />
</component>
</project>
\ No newline at end of file
<?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="PLATFORM" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="1.8" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/oaid_sdk_1.0.25" />
<option value="$PROJECT_DIR$/zxhcsdk" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>
\ No newline at end of file
/build
\ No newline at end of file
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.ym.zxhcsdkaar"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// implementation 'androidx.appcompat:appcompat:1.1.0'
// implementation 'com.google.android.material:material:1.1.0'
// implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
// testImplementation 'junit:junit:4.+'
// androidTestImplementation 'androidx.test.ext:junit:1.1.1'
// androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
api fileTree(include: ['*.jar'], dir: 'libs')
api fileTree(include: ['*.aar'], dir: 'libs')
implementation project(path: ':zxhcsdk')
api 'com.android.support:design:28.0.0'
api 'com.android.support:support-v4:28.0.0'
}
\ 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
\ No newline at end of file
package com.ym.zxhcsdkaar;
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.ym.zxhcsdkaar", appContext.getPackageName());
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ym.zxhcsdkaar">
<!-- 必须要有的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" /> <!-- 最好能提供的权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:networkSecurityConfig="@xml/network_security_config"
android:supportsRtl="true">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
\ No newline at end of file
{
"supplier":{
"vivo":{
"appid":"105390643"
},
"xiaomi":{
"appid":"2882303761518919626"
},
"huawei":{
"appid":"103530095"
},
"oppo":{
"appid":"30438717"
},
"meizu":{
"appid":"330148"
}
}
}
package com.ym.zxhcsdkaar;
public interface IOaidListener {
void getOaid(String oaid);
}
package com.ym.zxhcsdkaar;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.support.v4.content.FileProvider;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.ym.zxhcsdk.PhoneUtils;
import com.ym.zxhcsdk.ZXHCConstant;
import com.ym.zxhcsdk.listener.FeedAdListener;
import com.ym.zxhcsdk.listener.SplashAdListener;
import com.ym.zxhcsdk.manager.ZXHCADManager;
import com.ym.zxhcsdk.manager.ZXHCAdViewManager;
import com.ym.zxhcsdk.view.ZXHCFeedAD;
import com.ym.zxhcsdk.view.ZXHCSplashAD;
import java.io.File;
public class MainActivity extends Activity {
ZXHCFeedAD feedAD1;
ZXHCSplashAD zxhcSplashAD;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ZXHCADManager.getInstance().InitAd(this, "1000127");
String url = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads?pid=2100154&type=api&ad_type=3&ad_w=480&ad_h=720&app_package=com.popcap.pvz2cthd&app_id=1000127&app_name=com.popcap.pvz2cthd&app_versionid=1005&device_geo_lat=&device_geo_lon=&device_imei=X6GNU17524105082&device_adid=d0cf1c3d5280f16b&device_mac=F0:C8:50:A1:4E:8E&device_width=1920&device_height=1132&device_imsi=460000501365163&device_carrier=&device_network=1&device_os=Android&device_os_version=24&device_density=2.0&device_ppi=2.0&device_ip=183.211.87.156&device_ua=Dalvik%2F2.1.0+%28Linux%3B+U%3B+Android+9%3B+Redmi+Note+8+Pro+MIUI%2FV10.4.9.0.PGGCNXM%29&device_type=0&is_mobile=1&device_model=FLA-AL10&device_brand=HUAWEI";
String BaseUrl = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads";
new OaidUtils().GetOaid(MainActivity.this, new IOaidListener() {
@Override
public void getOaid(String oaid) {
Log.d("wxw","oaid"+oaid);
ZXHCConstant.device_oaid = oaid;
}
});
findViewById(R.id.test_DownLoad).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
findViewById(R.id.test_Feed).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
feedAD1 = new ZXHCFeedAD(MainActivity.this, "2100155", 1080, 720, new FeedAdListener() {
@Override
public void OnAdLoaded() {
ViewGroup vp = ZXHCAdViewManager.getInstance().newFrameLayout(MainActivity.this);
ZXHCAdViewManager.getInstance().showAdView(MainActivity.this, vp, true);
feedAD1.showAd(vp);
}
@Override
public void OnError(String error) {
}
@Override
public void OnAdClicked() {
}
@Override
public void OnAdShow() {
}
@Override
public void OnAdClosed() {
}
});
feedAD1.loadAD();
}
});
findViewById(R.id.test_splsh).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//2100154 落地页
//2100155 下载
//2100156 跳转链接
zxhcSplashAD = new ZXHCSplashAD(MainActivity.this, "1100028", new SplashAdListener() {
@Override
public void OnAdLoaded() {
ViewGroup vp = ZXHCAdViewManager.getInstance().newFrameLayout(MainActivity.this);
ZXHCAdViewManager.getInstance().showAdView(MainActivity.this, vp, false);
zxhcSplashAD.showAd(vp);
}
@Override
public void OnError(String error) {
Log.d("wxw", "OnError");
}
@Override
public void OnAdClicked() {
Log.d("wxw", "OnAdClicked");
}
@Override
public void OnAdShow() {
Log.d("wxw", "OnAdShow");
}
@Override
public void OnAdClosed() {
Log.d("wxw", "OnAdClosed");
}
}, 3);
zxhcSplashAD.fetchAdOnly();
}
});
}
}
\ No newline at end of file
package com.ym.zxhcsdkaar;
import android.content.Context;
import com.bun.miitmdid.core.ErrorCode;
import com.bun.miitmdid.core.MdidSdkHelper;
import com.bun.miitmdid.interfaces.IIdentifierListener;
import com.bun.miitmdid.interfaces.IdSupplier;
/**
* Created by zheng on 2019/8/22.
*/
public class MiitHelper implements IIdentifierListener {
private AppIdsUpdater _listener;
public MiitHelper(AppIdsUpdater callback) {
_listener = callback;
}
public boolean getDeviceIds(Context cxt) {
long timeb = System.currentTimeMillis();
int nres = CallFromReflect(cxt);
// int nres=DirectCall(cxt);
long timee = System.currentTimeMillis();
long offset = timee - timeb;
if (nres == ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT) {//1008612 不支持的设备
return false;
} else if (nres == ErrorCode.INIT_ERROR_LOAD_CONFIGFILE) {//1008613 加载配置文件出错
return false;
} else if (nres == ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT) {//1008611 不支持的设备厂商
return false;
} else if (nres == ErrorCode.INIT_ERROR_RESULT_DELAY) {//1008614 获取接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程
return false;
} else if (nres == ErrorCode.INIT_HELPER_CALL_ERROR) {//1008615 反射调用出错
return false;
}else {
return true;
}
}
/*
* 通过反射调用,解决android 9以后的类加载升级,导至找不到so中的方法
*
* */
private int CallFromReflect(Context cxt) {
return MdidSdkHelper.InitSdk(cxt, true, this);
}
/*
* 直接java调用,如果这样调用,在android 9以前没有题,在android 9以后会抛找不到so方法的异常
* 解决办法是和JLibrary.InitEntry(cxt),分开调用,比如在A类中调用JLibrary.InitEntry(cxt),在B类中调用MdidSdk的方法
* A和B不能存在直接和间接依赖关系,否则也会报错
*
* */
/* private int DirectCall(Context cxt) {
MdidSdk sdk = new MdidSdk();
return sdk.InitSdk(cxt, this);
}*/
@Override
public void OnSupport(boolean b, IdSupplier idSupplier) {
if (idSupplier == null) {
return;
}
String oaid = idSupplier.getOAID();
if (_listener != null) {
_listener.OnIdsAvalid(oaid);
}
}
public interface AppIdsUpdater {
void OnIdsAvalid(String ids);
}
}
package com.ym.zxhcsdkaar;
import android.app.Activity;
import android.text.TextUtils;
public class OaidUtils {
private IOaidListener listener;
public void GetOaid(Activity activity, IOaidListener listener){
this.listener = listener;
new MiitHelper(appIdsUpdater).getDeviceIds(activity);
}
MiitHelper.AppIdsUpdater appIdsUpdater = ids -> {
if (!TextUtils.isEmpty(ids)) {
if (listener!=null){
listener.getOaid(ids);
}
}
};
}
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/test_splsh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEST_SPLASH"></Button>
<Button
android:id="@+id/test_Feed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test_Feed"></Button>
<Button
android:id="@+id/test_DownLoad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test_DownLoad"></Button>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
</resources>
\ No newline at end of file
<resources>
<string name="app_name">ZXHCSDKAAR</string>
</resources>
\ No newline at end of file
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<!-- <style name="Theme.ZXHCSDKAAR" parent="Theme.MaterialComponents.DayNight.DarkActionBar">-->
<!-- &lt;!&ndash; Primary brand color. &ndash;&gt;-->
<!-- <item name="colorPrimary">@color/purple_500</item>-->
<!-- <item name="colorPrimaryVariant">@color/purple_700</item>-->
<!-- <item name="colorOnPrimary">@color/white</item>-->
<!-- &lt;!&ndash; Secondary brand color. &ndash;&gt;-->
<!-- <item name="colorSecondary">@color/teal_200</item>-->
<!-- <item name="colorSecondaryVariant">@color/teal_700</item>-->
<!-- <item name="colorOnSecondary">@color/black</item>-->
<!-- &lt;!&ndash; Status bar color. &ndash;&gt;-->
<!-- <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>-->
<!-- &lt;!&ndash; Customize your theme here. &ndash;&gt;-->
<!-- </style>-->
</resources>
\ No newline at end of file
package com.ym.zxhcsdkaar;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}
\ No newline at end of file
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.1.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
\ No newline at end of file
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=false
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=false
\ No newline at end of file
#Tue Apr 06 14:13:50 CST 2021
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
configurations.maybeCreate("default")
artifacts.add("default", file('oaid_sdk_1.0.25.aar'))
\ No newline at end of file
i/META-INF/com/android/build/gradle/aar-metadata.properties
com.bun.miitmdid
anim abc_fade_in
anim abc_fade_out
anim abc_grow_fade_in_from_bottom
anim abc_popup_enter
anim abc_popup_exit
anim abc_shrink_fade_out_from_bottom
anim abc_slide_in_bottom
anim abc_slide_in_top
anim abc_slide_out_bottom
anim abc_slide_out_top
anim abc_tooltip_enter
anim abc_tooltip_exit
attr actionBarDivider
attr actionBarItemBackground
attr actionBarPopupTheme
attr actionBarSize
attr actionBarSplitStyle
attr actionBarStyle
attr actionBarTabBarStyle
attr actionBarTabStyle
attr actionBarTabTextStyle
attr actionBarTheme
attr actionBarWidgetTheme
attr actionButtonStyle
attr actionDropDownStyle
attr actionLayout
attr actionMenuTextAppearance
attr actionMenuTextColor
attr actionModeBackground
attr actionModeCloseButtonStyle
attr actionModeCloseDrawable
attr actionModeCopyDrawable
attr actionModeCutDrawable
attr actionModeFindDrawable
attr actionModePasteDrawable
attr actionModePopupWindowStyle
attr actionModeSelectAllDrawable
attr actionModeShareDrawable
attr actionModeSplitBackground
attr actionModeStyle
attr actionModeWebSearchDrawable
attr actionOverflowButtonStyle
attr actionOverflowMenuStyle
attr actionProviderClass
attr actionViewClass
attr activityChooserViewStyle
attr alertDialogButtonGroupStyle
attr alertDialogCenterButtons
attr alertDialogStyle
attr alertDialogTheme
attr allowStacking
attr alpha
attr alphabeticModifiers
attr arrowHeadLength
attr arrowShaftLength
attr autoCompleteTextViewStyle
attr autoSizeMaxTextSize
attr autoSizeMinTextSize
attr autoSizePresetSizes
attr autoSizeStepGranularity
attr autoSizeTextType
attr background
attr backgroundSplit
attr backgroundStacked
attr backgroundTint
attr backgroundTintMode
attr barLength
attr borderlessButtonStyle
attr buttonBarButtonStyle
attr buttonBarNegativeButtonStyle
attr buttonBarNeutralButtonStyle
attr buttonBarPositiveButtonStyle
attr buttonBarStyle
attr buttonGravity
attr buttonIconDimen
attr buttonPanelSideLayout
attr buttonStyle
attr buttonStyleSmall
attr buttonTint
attr buttonTintMode
attr checkboxStyle
attr checkedTextViewStyle
attr closeIcon
attr closeItemLayout
attr collapseContentDescription
attr collapseIcon
attr color
attr colorAccent
attr colorBackgroundFloating
attr colorButtonNormal
attr colorControlActivated
attr colorControlHighlight
attr colorControlNormal
attr colorError
attr colorPrimary
attr colorPrimaryDark
attr colorSwitchThumbNormal
attr commitIcon
attr contentDescription
attr contentInsetEnd
attr contentInsetEndWithActions
attr contentInsetLeft
attr contentInsetRight
attr contentInsetStart
attr contentInsetStartWithNavigation
attr controlBackground
attr coordinatorLayoutStyle
attr customNavigationLayout
attr defaultQueryHint
attr dialogCornerRadius
attr dialogPreferredPadding
attr dialogTheme
attr displayOptions
attr divider
attr dividerHorizontal
attr dividerPadding
attr dividerVertical
attr drawableSize
attr drawerArrowStyle
attr dropDownListViewStyle
attr dropdownListPreferredItemHeight
attr editTextBackground
attr editTextColor
attr editTextStyle
attr elevation
attr expandActivityOverflowButtonDrawable
attr firstBaselineToTopHeight
attr font
attr fontFamily
attr fontProviderAuthority
attr fontProviderCerts
attr fontProviderFetchStrategy
attr fontProviderFetchTimeout
attr fontProviderPackage
attr fontProviderQuery
attr fontStyle
attr fontVariationSettings
attr fontWeight
attr gapBetweenBars
attr goIcon
attr height
attr hideOnContentScroll
attr homeAsUpIndicator
attr homeLayout
attr icon
attr iconTint
attr iconTintMode
attr iconifiedByDefault
attr imageButtonStyle
attr indeterminateProgressStyle
attr initialActivityCount
attr isLightTheme
attr itemPadding
attr keylines
attr lastBaselineToBottomHeight
attr layout
attr layout_anchor
attr layout_anchorGravity
attr layout_behavior
attr layout_dodgeInsetEdges
attr layout_insetEdge
attr layout_keyline
attr lineHeight
attr listChoiceBackgroundIndicator
attr listDividerAlertDialog
attr listItemLayout
attr listLayout
attr listMenuViewStyle
attr listPopupWindowStyle
attr listPreferredItemHeight
attr listPreferredItemHeightLarge
attr listPreferredItemHeightSmall
attr listPreferredItemPaddingLeft
attr listPreferredItemPaddingRight
attr logo
attr logoDescription
attr maxButtonHeight
attr measureWithLargestChild
attr multiChoiceItemLayout
attr navigationContentDescription
attr navigationIcon
attr navigationMode
attr numericModifiers
attr overlapAnchor
attr paddingBottomNoButtons
attr paddingEnd
attr paddingStart
attr paddingTopNoTitle
attr panelBackground
attr panelMenuListTheme
attr panelMenuListWidth
attr popupMenuStyle
attr popupTheme
attr popupWindowStyle
attr preserveIconSpacing
attr progressBarPadding
attr progressBarStyle
attr queryBackground
attr queryHint
attr radioButtonStyle
attr ratingBarStyle
attr ratingBarStyleIndicator
attr ratingBarStyleSmall
attr searchHintIcon
attr searchIcon
attr searchViewStyle
attr seekBarStyle
attr selectableItemBackground
attr selectableItemBackgroundBorderless
attr showAsAction
attr showDividers
attr showText
attr showTitle
attr singleChoiceItemLayout
attr spinBars
attr spinnerDropDownItemStyle
attr spinnerStyle
attr splitTrack
attr srcCompat
attr state_above_anchor
attr statusBarBackground
attr subMenuArrow
attr submitBackground
attr subtitle
attr subtitleTextAppearance
attr subtitleTextColor
attr subtitleTextStyle
attr suggestionRowLayout
attr switchMinWidth
attr switchPadding
attr switchStyle
attr switchTextAppearance
attr textAllCaps
attr textAppearanceLargePopupMenu
attr textAppearanceListItem
attr textAppearanceListItemSecondary
attr textAppearanceListItemSmall
attr textAppearancePopupMenuHeader
attr textAppearanceSearchResultSubtitle
attr textAppearanceSearchResultTitle
attr textAppearanceSmallPopupMenu
attr textColorAlertDialogListItem
attr textColorSearchUrl
attr theme
attr thickness
attr thumbTextPadding
attr thumbTint
attr thumbTintMode
attr tickMark
attr tickMarkTint
attr tickMarkTintMode
attr tint
attr tintMode
attr title
attr titleMargin
attr titleMarginBottom
attr titleMarginEnd
attr titleMarginStart
attr titleMarginTop
attr titleMargins
attr titleTextAppearance
attr titleTextColor
attr titleTextStyle
attr toolbarNavigationButtonStyle
attr toolbarStyle
attr tooltipForegroundColor
attr tooltipFrameBackground
attr tooltipText
attr track
attr trackTint
attr trackTintMode
attr ttcIndex
attr viewInflaterClass
attr voiceIcon
attr windowActionBar
attr windowActionBarOverlay
attr windowActionModeOverlay
attr windowFixedHeightMajor
attr windowFixedHeightMinor
attr windowFixedWidthMajor
attr windowFixedWidthMinor
attr windowMinWidthMajor
attr windowMinWidthMinor
attr windowNoTitle
bool abc_action_bar_embed_tabs
bool abc_allow_stacked_button_bar
bool abc_config_actionMenuItemAllCaps
color abc_background_cache_hint_selector_material_dark
color abc_background_cache_hint_selector_material_light
color abc_btn_colored_borderless_text_material
color abc_btn_colored_text_material
color abc_color_highlight_material
color abc_hint_foreground_material_dark
color abc_hint_foreground_material_light
color abc_input_method_navigation_guard
color abc_primary_text_disable_only_material_dark
color abc_primary_text_disable_only_material_light
color abc_primary_text_material_dark
color abc_primary_text_material_light
color abc_search_url_text
color abc_search_url_text_normal
color abc_search_url_text_pressed
color abc_search_url_text_selected
color abc_secondary_text_material_dark
color abc_secondary_text_material_light
color abc_tint_btn_checkable
color abc_tint_default
color abc_tint_edittext
color abc_tint_seek_thumb
color abc_tint_spinner
color abc_tint_switch_track
color accent_material_dark
color accent_material_light
color background_floating_material_dark
color background_floating_material_light
color background_material_dark
color background_material_light
color bright_foreground_disabled_material_dark
color bright_foreground_disabled_material_light
color bright_foreground_inverse_material_dark
color bright_foreground_inverse_material_light
color bright_foreground_material_dark
color bright_foreground_material_light
color button_material_dark
color button_material_light
color dim_foreground_disabled_material_dark
color dim_foreground_disabled_material_light
color dim_foreground_material_dark
color dim_foreground_material_light
color error_color_material_dark
color error_color_material_light
color foreground_material_dark
color foreground_material_light
color highlighted_text_material_dark
color highlighted_text_material_light
color material_blue_grey_800
color material_blue_grey_900
color material_blue_grey_950
color material_deep_teal_200
color material_deep_teal_500
color material_grey_100
color material_grey_300
color material_grey_50
color material_grey_600
color material_grey_800
color material_grey_850
color material_grey_900
color notification_action_color_filter
color notification_icon_bg_color
color primary_dark_material_dark
color primary_dark_material_light
color primary_material_dark
color primary_material_light
color primary_text_default_material_dark
color primary_text_default_material_light
color primary_text_disabled_material_dark
color primary_text_disabled_material_light
color ripple_material_dark
color ripple_material_light
color secondary_text_default_material_dark
color secondary_text_default_material_light
color secondary_text_disabled_material_dark
color secondary_text_disabled_material_light
color switch_thumb_disabled_material_dark
color switch_thumb_disabled_material_light
color switch_thumb_material_dark
color switch_thumb_material_light
color switch_thumb_normal_material_dark
color switch_thumb_normal_material_light
color tooltip_background_dark
color tooltip_background_light
dimen abc_action_bar_content_inset_material
dimen abc_action_bar_content_inset_with_nav
dimen abc_action_bar_default_height_material
dimen abc_action_bar_default_padding_end_material
dimen abc_action_bar_default_padding_start_material
dimen abc_action_bar_elevation_material
dimen abc_action_bar_icon_vertical_padding_material
dimen abc_action_bar_overflow_padding_end_material
dimen abc_action_bar_overflow_padding_start_material
dimen abc_action_bar_stacked_max_height
dimen abc_action_bar_stacked_tab_max_width
dimen abc_action_bar_subtitle_bottom_margin_material
dimen abc_action_bar_subtitle_top_margin_material
dimen abc_action_button_min_height_material
dimen abc_action_button_min_width_material
dimen abc_action_button_min_width_overflow_material
dimen abc_alert_dialog_button_bar_height
dimen abc_alert_dialog_button_dimen
dimen abc_button_inset_horizontal_material
dimen abc_button_inset_vertical_material
dimen abc_button_padding_horizontal_material
dimen abc_button_padding_vertical_material
dimen abc_cascading_menus_min_smallest_width
dimen abc_config_prefDialogWidth
dimen abc_control_corner_material
dimen abc_control_inset_material
dimen abc_control_padding_material
dimen abc_dialog_corner_radius_material
dimen abc_dialog_fixed_height_major
dimen abc_dialog_fixed_height_minor
dimen abc_dialog_fixed_width_major
dimen abc_dialog_fixed_width_minor
dimen abc_dialog_list_padding_bottom_no_buttons
dimen abc_dialog_list_padding_top_no_title
dimen abc_dialog_min_width_major
dimen abc_dialog_min_width_minor
dimen abc_dialog_padding_material
dimen abc_dialog_padding_top_material
dimen abc_dialog_title_divider_material
dimen abc_disabled_alpha_material_dark
dimen abc_disabled_alpha_material_light
dimen abc_dropdownitem_icon_width
dimen abc_dropdownitem_text_padding_left
dimen abc_dropdownitem_text_padding_right
dimen abc_edit_text_inset_bottom_material
dimen abc_edit_text_inset_horizontal_material
dimen abc_edit_text_inset_top_material
dimen abc_floating_window_z
dimen abc_list_item_padding_horizontal_material
dimen abc_panel_menu_list_width
dimen abc_progress_bar_height_material
dimen abc_search_view_preferred_height
dimen abc_search_view_preferred_width
dimen abc_seekbar_track_background_height_material
dimen abc_seekbar_track_progress_height_material
dimen abc_select_dialog_padding_start_material
dimen abc_switch_padding
dimen abc_text_size_body_1_material
dimen abc_text_size_body_2_material
dimen abc_text_size_button_material
dimen abc_text_size_caption_material
dimen abc_text_size_display_1_material
dimen abc_text_size_display_2_material
dimen abc_text_size_display_3_material
dimen abc_text_size_display_4_material
dimen abc_text_size_headline_material
dimen abc_text_size_large_material
dimen abc_text_size_medium_material
dimen abc_text_size_menu_header_material
dimen abc_text_size_menu_material
dimen abc_text_size_small_material
dimen abc_text_size_subhead_material
dimen abc_text_size_subtitle_material_toolbar
dimen abc_text_size_title_material
dimen abc_text_size_title_material_toolbar
dimen compat_button_inset_horizontal_material
dimen compat_button_inset_vertical_material
dimen compat_button_padding_horizontal_material
dimen compat_button_padding_vertical_material
dimen compat_control_corner_material
dimen compat_notification_large_icon_max_height
dimen compat_notification_large_icon_max_width
dimen disabled_alpha_material_dark
dimen disabled_alpha_material_light
dimen highlight_alpha_material_colored
dimen highlight_alpha_material_dark
dimen highlight_alpha_material_light
dimen hint_alpha_material_dark
dimen hint_alpha_material_light
dimen hint_pressed_alpha_material_dark
dimen hint_pressed_alpha_material_light
dimen notification_action_icon_size
dimen notification_action_text_size
dimen notification_big_circle_margin
dimen notification_content_margin_start
dimen notification_large_icon_height
dimen notification_large_icon_width
dimen notification_main_column_padding_top
dimen notification_media_narrow_margin
dimen notification_right_icon_size
dimen notification_right_side_padding_top
dimen notification_small_icon_background_padding
dimen notification_small_icon_size_as_large
dimen notification_subtext_size
dimen notification_top_pad
dimen notification_top_pad_large_text
dimen tooltip_corner_radius
dimen tooltip_horizontal_padding
dimen tooltip_margin
dimen tooltip_precise_anchor_extra_offset
dimen tooltip_precise_anchor_threshold
dimen tooltip_vertical_padding
dimen tooltip_y_offset_non_touch
dimen tooltip_y_offset_touch
drawable abc_ab_share_pack_mtrl_alpha
drawable abc_action_bar_item_background_material
drawable abc_btn_borderless_material
drawable abc_btn_check_material
drawable abc_btn_check_to_on_mtrl_000
drawable abc_btn_check_to_on_mtrl_015
drawable abc_btn_colored_material
drawable abc_btn_default_mtrl_shape
drawable abc_btn_radio_material
drawable abc_btn_radio_to_on_mtrl_000
drawable abc_btn_radio_to_on_mtrl_015
drawable abc_btn_switch_to_on_mtrl_00001
drawable abc_btn_switch_to_on_mtrl_00012
drawable abc_cab_background_internal_bg
drawable abc_cab_background_top_material
drawable abc_cab_background_top_mtrl_alpha
drawable abc_control_background_material
drawable abc_dialog_material_background
drawable abc_edit_text_material
drawable abc_ic_ab_back_material
drawable abc_ic_arrow_drop_right_black_24dp
drawable abc_ic_clear_material
drawable abc_ic_commit_search_api_mtrl_alpha
drawable abc_ic_go_search_api_material
drawable abc_ic_menu_copy_mtrl_am_alpha
drawable abc_ic_menu_cut_mtrl_alpha
drawable abc_ic_menu_overflow_material
drawable abc_ic_menu_paste_mtrl_am_alpha
drawable abc_ic_menu_selectall_mtrl_alpha
drawable abc_ic_menu_share_mtrl_alpha
drawable abc_ic_search_api_material
drawable abc_ic_star_black_16dp
drawable abc_ic_star_black_36dp
drawable abc_ic_star_black_48dp
drawable abc_ic_star_half_black_16dp
drawable abc_ic_star_half_black_36dp
drawable abc_ic_star_half_black_48dp
drawable abc_ic_voice_search_api_material
drawable abc_item_background_holo_dark
drawable abc_item_background_holo_light
drawable abc_list_divider_material
drawable abc_list_divider_mtrl_alpha
drawable abc_list_focused_holo
drawable abc_list_longpressed_holo
drawable abc_list_pressed_holo_dark
drawable abc_list_pressed_holo_light
drawable abc_list_selector_background_transition_holo_dark
drawable abc_list_selector_background_transition_holo_light
drawable abc_list_selector_disabled_holo_dark
drawable abc_list_selector_disabled_holo_light
drawable abc_list_selector_holo_dark
drawable abc_list_selector_holo_light
drawable abc_menu_hardkey_panel_mtrl_mult
drawable abc_popup_background_mtrl_mult
drawable abc_ratingbar_indicator_material
drawable abc_ratingbar_material
drawable abc_ratingbar_small_material
drawable abc_scrubber_control_off_mtrl_alpha
drawable abc_scrubber_control_to_pressed_mtrl_000
drawable abc_scrubber_control_to_pressed_mtrl_005
drawable abc_scrubber_primary_mtrl_alpha
drawable abc_scrubber_track_mtrl_alpha
drawable abc_seekbar_thumb_material
drawable abc_seekbar_tick_mark_material
drawable abc_seekbar_track_material
drawable abc_spinner_mtrl_am_alpha
drawable abc_spinner_textfield_background_material
drawable abc_switch_thumb_material
drawable abc_switch_track_mtrl_alpha
drawable abc_tab_indicator_material
drawable abc_tab_indicator_mtrl_alpha
drawable abc_text_cursor_material
drawable abc_text_select_handle_left_mtrl_dark
drawable abc_text_select_handle_left_mtrl_light
drawable abc_text_select_handle_middle_mtrl_dark
drawable abc_text_select_handle_middle_mtrl_light
drawable abc_text_select_handle_right_mtrl_dark
drawable abc_text_select_handle_right_mtrl_light
drawable abc_textfield_activated_mtrl_alpha
drawable abc_textfield_default_mtrl_alpha
drawable abc_textfield_search_activated_mtrl_alpha
drawable abc_textfield_search_default_mtrl_alpha
drawable abc_textfield_search_material
drawable abc_vector_test
drawable notification_action_background
drawable notification_bg
drawable notification_bg_low
drawable notification_bg_low_normal
drawable notification_bg_low_pressed
drawable notification_bg_normal
drawable notification_bg_normal_pressed
drawable notification_icon_background
drawable notification_template_icon_bg
drawable notification_template_icon_low_bg
drawable notification_tile_bg
drawable notify_panel_notification_icon_bg
drawable tooltip_frame_dark
drawable tooltip_frame_light
id action_bar
id action_bar_activity_content
id action_bar_container
id action_bar_root
id action_bar_spinner
id action_bar_subtitle
id action_bar_title
id action_container
id action_context_bar
id action_divider
id action_image
id action_menu_divider
id action_menu_presenter
id action_mode_bar
id action_mode_bar_stub
id action_mode_close_button
id action_text
id actions
id activity_chooser_view_content
id add
id alertTitle
id async
id blocking
id bottom
id buttonPanel
id checkbox
id chronometer
id content
id contentPanel
id custom
id customPanel
id decor_content_parent
id default_activity_button
id edit_query
id end
id expand_activities_button
id expanded_menu
id forever
id group_divider
id home
id icon
id icon_group
id image
id info
id italic
id left
id line1
id line3
id listMode
id list_item
id message
id multiply
id none
id normal
id notification_background
id notification_main_column
id notification_main_column_container
id parentPanel
id progress_circular
id progress_horizontal
id radio
id right
id right_icon
id right_side
id screen
id scrollIndicatorDown
id scrollIndicatorUp
id scrollView
id search_badge
id search_bar
id search_button
id search_close_btn
id search_edit_frame
id search_go_btn
id search_mag_icon
id search_plate
id search_src_text
id search_voice_btn
id select_dialog_listview
id shortcut
id spacer
id split_action_bar
id src_atop
id src_in
id src_over
id start
id submenuarrow
id submit_area
id tabMode
id tag_transition_group
id tag_unhandled_key_event_manager
id tag_unhandled_key_listeners
id text
id text2
id textSpacerNoButtons
id textSpacerNoTitle
id time
id title
id titleDividerNoCustom
id title_template
id top
id topPanel
id uniform
id up
id wrap_content
integer abc_config_activityDefaultDur
integer abc_config_activityShortDur
integer cancel_button_image_alpha
integer config_tooltipAnimTime
integer status_bar_notification_info_maxnum
layout abc_action_bar_title_item
layout abc_action_bar_up_container
layout abc_action_menu_item_layout
layout abc_action_menu_layout
layout abc_action_mode_bar
layout abc_action_mode_close_item_material
layout abc_activity_chooser_view
layout abc_activity_chooser_view_list_item
layout abc_alert_dialog_button_bar_material
layout abc_alert_dialog_material
layout abc_alert_dialog_title_material
layout abc_cascading_menu_item_layout
layout abc_dialog_title_material
layout abc_expanded_menu_layout
layout abc_list_menu_item_checkbox
layout abc_list_menu_item_icon
layout abc_list_menu_item_layout
layout abc_list_menu_item_radio
layout abc_popup_menu_header_item_layout
layout abc_popup_menu_item_layout
layout abc_screen_content_include
layout abc_screen_simple
layout abc_screen_simple_overlay_action_mode
layout abc_screen_toolbar
layout abc_search_dropdown_item_icons_2line
layout abc_search_view
layout abc_select_dialog_material
layout abc_tooltip
layout notification_action
layout notification_action_tombstone
layout notification_template_custom_big
layout notification_template_icon_group
layout notification_template_part_chronometer
layout notification_template_part_time
layout select_dialog_item_material
layout select_dialog_multichoice_material
layout select_dialog_singlechoice_material
layout support_simple_spinner_dropdown_item
string abc_action_bar_home_description
string abc_action_bar_up_description
string abc_action_menu_overflow_description
string abc_action_mode_done
string abc_activity_chooser_view_see_all
string abc_activitychooserview_choose_application
string abc_capital_off
string abc_capital_on
string abc_font_family_body_1_material
string abc_font_family_body_2_material
string abc_font_family_button_material
string abc_font_family_caption_material
string abc_font_family_display_1_material
string abc_font_family_display_2_material
string abc_font_family_display_3_material
string abc_font_family_display_4_material
string abc_font_family_headline_material
string abc_font_family_menu_material
string abc_font_family_subhead_material
string abc_font_family_title_material
string abc_menu_alt_shortcut_label
string abc_menu_ctrl_shortcut_label
string abc_menu_delete_shortcut_label
string abc_menu_enter_shortcut_label
string abc_menu_function_shortcut_label
string abc_menu_meta_shortcut_label
string abc_menu_shift_shortcut_label
string abc_menu_space_shortcut_label
string abc_menu_sym_shortcut_label
string abc_prepend_shortcut_label
string abc_search_hint
string abc_searchview_description_clear
string abc_searchview_description_query
string abc_searchview_description_search
string abc_searchview_description_submit
string abc_searchview_description_voice
string abc_shareactionprovider_share_with
string abc_shareactionprovider_share_with_application
string abc_toolbar_collapse_description
string search_menu_title
string status_bar_notification_info_overflow
style AlertDialog_AppCompat
style AlertDialog_AppCompat_Light
style Animation_AppCompat_Dialog
style Animation_AppCompat_DropDownUp
style Animation_AppCompat_Tooltip
style Base_AlertDialog_AppCompat
style Base_AlertDialog_AppCompat_Light
style Base_Animation_AppCompat_Dialog
style Base_Animation_AppCompat_DropDownUp
style Base_Animation_AppCompat_Tooltip
style Base_DialogWindowTitleBackground_AppCompat
style Base_DialogWindowTitle_AppCompat
style Base_TextAppearance_AppCompat
style Base_TextAppearance_AppCompat_Body1
style Base_TextAppearance_AppCompat_Body2
style Base_TextAppearance_AppCompat_Button
style Base_TextAppearance_AppCompat_Caption
style Base_TextAppearance_AppCompat_Display1
style Base_TextAppearance_AppCompat_Display2
style Base_TextAppearance_AppCompat_Display3
style Base_TextAppearance_AppCompat_Display4
style Base_TextAppearance_AppCompat_Headline
style Base_TextAppearance_AppCompat_Inverse
style Base_TextAppearance_AppCompat_Large
style Base_TextAppearance_AppCompat_Large_Inverse
style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large
style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small
style Base_TextAppearance_AppCompat_Medium
style Base_TextAppearance_AppCompat_Medium_Inverse
style Base_TextAppearance_AppCompat_Menu
style Base_TextAppearance_AppCompat_SearchResult
style Base_TextAppearance_AppCompat_SearchResult_Subtitle
style Base_TextAppearance_AppCompat_SearchResult_Title
style Base_TextAppearance_AppCompat_Small
style Base_TextAppearance_AppCompat_Small_Inverse
style Base_TextAppearance_AppCompat_Subhead
style Base_TextAppearance_AppCompat_Subhead_Inverse
style Base_TextAppearance_AppCompat_Title
style Base_TextAppearance_AppCompat_Title_Inverse
style Base_TextAppearance_AppCompat_Tooltip
style Base_TextAppearance_AppCompat_Widget_ActionBar_Menu
style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle
style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse
style Base_TextAppearance_AppCompat_Widget_ActionBar_Title
style Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse
style Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle
style Base_TextAppearance_AppCompat_Widget_ActionMode_Title
style Base_TextAppearance_AppCompat_Widget_Button
style Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored
style Base_TextAppearance_AppCompat_Widget_Button_Colored
style Base_TextAppearance_AppCompat_Widget_Button_Inverse
style Base_TextAppearance_AppCompat_Widget_DropDownItem
style Base_TextAppearance_AppCompat_Widget_PopupMenu_Header
style Base_TextAppearance_AppCompat_Widget_PopupMenu_Large
style Base_TextAppearance_AppCompat_Widget_PopupMenu_Small
style Base_TextAppearance_AppCompat_Widget_Switch
style Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem
style Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item
style Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle
style Base_TextAppearance_Widget_AppCompat_Toolbar_Title
style Base_ThemeOverlay_AppCompat
style Base_ThemeOverlay_AppCompat_ActionBar
style Base_ThemeOverlay_AppCompat_Dark
style Base_ThemeOverlay_AppCompat_Dark_ActionBar
style Base_ThemeOverlay_AppCompat_Dialog
style Base_ThemeOverlay_AppCompat_Dialog_Alert
style Base_ThemeOverlay_AppCompat_Light
style Base_Theme_AppCompat
style Base_Theme_AppCompat_CompactMenu
style Base_Theme_AppCompat_Dialog
style Base_Theme_AppCompat_DialogWhenLarge
style Base_Theme_AppCompat_Dialog_Alert
style Base_Theme_AppCompat_Dialog_FixedSize
style Base_Theme_AppCompat_Dialog_MinWidth
style Base_Theme_AppCompat_Light
style Base_Theme_AppCompat_Light_DarkActionBar
style Base_Theme_AppCompat_Light_Dialog
style Base_Theme_AppCompat_Light_DialogWhenLarge
style Base_Theme_AppCompat_Light_Dialog_Alert
style Base_Theme_AppCompat_Light_Dialog_FixedSize
style Base_Theme_AppCompat_Light_Dialog_MinWidth
style Base_V21_ThemeOverlay_AppCompat_Dialog
style Base_V21_Theme_AppCompat
style Base_V21_Theme_AppCompat_Dialog
style Base_V21_Theme_AppCompat_Light
style Base_V21_Theme_AppCompat_Light_Dialog
style Base_V22_Theme_AppCompat
style Base_V22_Theme_AppCompat_Light
style Base_V23_Theme_AppCompat
style Base_V23_Theme_AppCompat_Light
style Base_V26_Theme_AppCompat
style Base_V26_Theme_AppCompat_Light
style Base_V26_Widget_AppCompat_Toolbar
style Base_V28_Theme_AppCompat
style Base_V28_Theme_AppCompat_Light
style Base_V7_ThemeOverlay_AppCompat_Dialog
style Base_V7_Theme_AppCompat
style Base_V7_Theme_AppCompat_Dialog
style Base_V7_Theme_AppCompat_Light
style Base_V7_Theme_AppCompat_Light_Dialog
style Base_V7_Widget_AppCompat_AutoCompleteTextView
style Base_V7_Widget_AppCompat_EditText
style Base_V7_Widget_AppCompat_Toolbar
style Base_Widget_AppCompat_ActionBar
style Base_Widget_AppCompat_ActionBar_Solid
style Base_Widget_AppCompat_ActionBar_TabBar
style Base_Widget_AppCompat_ActionBar_TabText
style Base_Widget_AppCompat_ActionBar_TabView
style Base_Widget_AppCompat_ActionButton
style Base_Widget_AppCompat_ActionButton_CloseMode
style Base_Widget_AppCompat_ActionButton_Overflow
style Base_Widget_AppCompat_ActionMode
style Base_Widget_AppCompat_ActivityChooserView
style Base_Widget_AppCompat_AutoCompleteTextView
style Base_Widget_AppCompat_Button
style Base_Widget_AppCompat_ButtonBar
style Base_Widget_AppCompat_ButtonBar_AlertDialog
style Base_Widget_AppCompat_Button_Borderless
style Base_Widget_AppCompat_Button_Borderless_Colored
style Base_Widget_AppCompat_Button_ButtonBar_AlertDialog
style Base_Widget_AppCompat_Button_Colored
style Base_Widget_AppCompat_Button_Small
style Base_Widget_AppCompat_CompoundButton_CheckBox
style Base_Widget_AppCompat_CompoundButton_RadioButton
style Base_Widget_AppCompat_CompoundButton_Switch
style Base_Widget_AppCompat_DrawerArrowToggle
style Base_Widget_AppCompat_DrawerArrowToggle_Common
style Base_Widget_AppCompat_DropDownItem_Spinner
style Base_Widget_AppCompat_EditText
style Base_Widget_AppCompat_ImageButton
style Base_Widget_AppCompat_Light_ActionBar
style Base_Widget_AppCompat_Light_ActionBar_Solid
style Base_Widget_AppCompat_Light_ActionBar_TabBar
style Base_Widget_AppCompat_Light_ActionBar_TabText
style Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse
style Base_Widget_AppCompat_Light_ActionBar_TabView
style Base_Widget_AppCompat_Light_PopupMenu
style Base_Widget_AppCompat_Light_PopupMenu_Overflow
style Base_Widget_AppCompat_ListMenuView
style Base_Widget_AppCompat_ListPopupWindow
style Base_Widget_AppCompat_ListView
style Base_Widget_AppCompat_ListView_DropDown
style Base_Widget_AppCompat_ListView_Menu
style Base_Widget_AppCompat_PopupMenu
style Base_Widget_AppCompat_PopupMenu_Overflow
style Base_Widget_AppCompat_PopupWindow
style Base_Widget_AppCompat_ProgressBar
style Base_Widget_AppCompat_ProgressBar_Horizontal
style Base_Widget_AppCompat_RatingBar
style Base_Widget_AppCompat_RatingBar_Indicator
style Base_Widget_AppCompat_RatingBar_Small
style Base_Widget_AppCompat_SearchView
style Base_Widget_AppCompat_SearchView_ActionBar
style Base_Widget_AppCompat_SeekBar
style Base_Widget_AppCompat_SeekBar_Discrete
style Base_Widget_AppCompat_Spinner
style Base_Widget_AppCompat_Spinner_Underlined
style Base_Widget_AppCompat_TextView_SpinnerItem
style Base_Widget_AppCompat_Toolbar
style Base_Widget_AppCompat_Toolbar_Button_Navigation
style Platform_AppCompat
style Platform_AppCompat_Light
style Platform_ThemeOverlay_AppCompat
style Platform_ThemeOverlay_AppCompat_Dark
style Platform_ThemeOverlay_AppCompat_Light
style Platform_V21_AppCompat
style Platform_V21_AppCompat_Light
style Platform_V25_AppCompat
style Platform_V25_AppCompat_Light
style Platform_Widget_AppCompat_Spinner
style RtlOverlay_DialogWindowTitle_AppCompat
style RtlOverlay_Widget_AppCompat_ActionBar_TitleItem
style RtlOverlay_Widget_AppCompat_DialogTitle_Icon
style RtlOverlay_Widget_AppCompat_PopupMenuItem
style RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup
style RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut
style RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow
style RtlOverlay_Widget_AppCompat_PopupMenuItem_Text
style RtlOverlay_Widget_AppCompat_PopupMenuItem_Title
style RtlOverlay_Widget_AppCompat_SearchView_MagIcon
style RtlOverlay_Widget_AppCompat_Search_DropDown
style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1
style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2
style RtlOverlay_Widget_AppCompat_Search_DropDown_Query
style RtlOverlay_Widget_AppCompat_Search_DropDown_Text
style RtlUnderlay_Widget_AppCompat_ActionButton
style RtlUnderlay_Widget_AppCompat_ActionButton_Overflow
style TextAppearance_AppCompat
style TextAppearance_AppCompat_Body1
style TextAppearance_AppCompat_Body2
style TextAppearance_AppCompat_Button
style TextAppearance_AppCompat_Caption
style TextAppearance_AppCompat_Display1
style TextAppearance_AppCompat_Display2
style TextAppearance_AppCompat_Display3
style TextAppearance_AppCompat_Display4
style TextAppearance_AppCompat_Headline
style TextAppearance_AppCompat_Inverse
style TextAppearance_AppCompat_Large
style TextAppearance_AppCompat_Large_Inverse
style TextAppearance_AppCompat_Light_SearchResult_Subtitle
style TextAppearance_AppCompat_Light_SearchResult_Title
style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large
style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small
style TextAppearance_AppCompat_Medium
style TextAppearance_AppCompat_Medium_Inverse
style TextAppearance_AppCompat_Menu
style TextAppearance_AppCompat_SearchResult_Subtitle
style TextAppearance_AppCompat_SearchResult_Title
style TextAppearance_AppCompat_Small
style TextAppearance_AppCompat_Small_Inverse
style TextAppearance_AppCompat_Subhead
style TextAppearance_AppCompat_Subhead_Inverse
style TextAppearance_AppCompat_Title
style TextAppearance_AppCompat_Title_Inverse
style TextAppearance_AppCompat_Tooltip
style TextAppearance_AppCompat_Widget_ActionBar_Menu
style TextAppearance_AppCompat_Widget_ActionBar_Subtitle
style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse
style TextAppearance_AppCompat_Widget_ActionBar_Title
style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse
style TextAppearance_AppCompat_Widget_ActionMode_Subtitle
style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse
style TextAppearance_AppCompat_Widget_ActionMode_Title
style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse
style TextAppearance_AppCompat_Widget_Button
style TextAppearance_AppCompat_Widget_Button_Borderless_Colored
style TextAppearance_AppCompat_Widget_Button_Colored
style TextAppearance_AppCompat_Widget_Button_Inverse
style TextAppearance_AppCompat_Widget_DropDownItem
style TextAppearance_AppCompat_Widget_PopupMenu_Header
style TextAppearance_AppCompat_Widget_PopupMenu_Large
style TextAppearance_AppCompat_Widget_PopupMenu_Small
style TextAppearance_AppCompat_Widget_Switch
style TextAppearance_AppCompat_Widget_TextView_SpinnerItem
style TextAppearance_Compat_Notification
style TextAppearance_Compat_Notification_Info
style TextAppearance_Compat_Notification_Line2
style TextAppearance_Compat_Notification_Time
style TextAppearance_Compat_Notification_Title
style TextAppearance_Widget_AppCompat_ExpandedMenu_Item
style TextAppearance_Widget_AppCompat_Toolbar_Subtitle
style TextAppearance_Widget_AppCompat_Toolbar_Title
style ThemeOverlay_AppCompat
style ThemeOverlay_AppCompat_ActionBar
style ThemeOverlay_AppCompat_Dark
style ThemeOverlay_AppCompat_Dark_ActionBar
style ThemeOverlay_AppCompat_Dialog
style ThemeOverlay_AppCompat_Dialog_Alert
style ThemeOverlay_AppCompat_Light
style Theme_AppCompat
style Theme_AppCompat_CompactMenu
style Theme_AppCompat_DayNight
style Theme_AppCompat_DayNight_DarkActionBar
style Theme_AppCompat_DayNight_Dialog
style Theme_AppCompat_DayNight_DialogWhenLarge
style Theme_AppCompat_DayNight_Dialog_Alert
style Theme_AppCompat_DayNight_Dialog_MinWidth
style Theme_AppCompat_DayNight_NoActionBar
style Theme_AppCompat_Dialog
style Theme_AppCompat_DialogWhenLarge
style Theme_AppCompat_Dialog_Alert
style Theme_AppCompat_Dialog_MinWidth
style Theme_AppCompat_Light
style Theme_AppCompat_Light_DarkActionBar
style Theme_AppCompat_Light_Dialog
style Theme_AppCompat_Light_DialogWhenLarge
style Theme_AppCompat_Light_Dialog_Alert
style Theme_AppCompat_Light_Dialog_MinWidth
style Theme_AppCompat_Light_NoActionBar
style Theme_AppCompat_NoActionBar
style Widget_AppCompat_ActionBar
style Widget_AppCompat_ActionBar_Solid
style Widget_AppCompat_ActionBar_TabBar
style Widget_AppCompat_ActionBar_TabText
style Widget_AppCompat_ActionBar_TabView
style Widget_AppCompat_ActionButton
style Widget_AppCompat_ActionButton_CloseMode
style Widget_AppCompat_ActionButton_Overflow
style Widget_AppCompat_ActionMode
style Widget_AppCompat_ActivityChooserView
style Widget_AppCompat_AutoCompleteTextView
style Widget_AppCompat_Button
style Widget_AppCompat_ButtonBar
style Widget_AppCompat_ButtonBar_AlertDialog
style Widget_AppCompat_Button_Borderless
style Widget_AppCompat_Button_Borderless_Colored
style Widget_AppCompat_Button_ButtonBar_AlertDialog
style Widget_AppCompat_Button_Colored
style Widget_AppCompat_Button_Small
style Widget_AppCompat_CompoundButton_CheckBox
style Widget_AppCompat_CompoundButton_RadioButton
style Widget_AppCompat_CompoundButton_Switch
style Widget_AppCompat_DrawerArrowToggle
style Widget_AppCompat_DropDownItem_Spinner
style Widget_AppCompat_EditText
style Widget_AppCompat_ImageButton
style Widget_AppCompat_Light_ActionBar
style Widget_AppCompat_Light_ActionBar_Solid
style Widget_AppCompat_Light_ActionBar_Solid_Inverse
style Widget_AppCompat_Light_ActionBar_TabBar
style Widget_AppCompat_Light_ActionBar_TabBar_Inverse
style Widget_AppCompat_Light_ActionBar_TabText
style Widget_AppCompat_Light_ActionBar_TabText_Inverse
style Widget_AppCompat_Light_ActionBar_TabView
style Widget_AppCompat_Light_ActionBar_TabView_Inverse
style Widget_AppCompat_Light_ActionButton
style Widget_AppCompat_Light_ActionButton_CloseMode
style Widget_AppCompat_Light_ActionButton_Overflow
style Widget_AppCompat_Light_ActionMode_Inverse
style Widget_AppCompat_Light_ActivityChooserView
style Widget_AppCompat_Light_AutoCompleteTextView
style Widget_AppCompat_Light_DropDownItem_Spinner
style Widget_AppCompat_Light_ListPopupWindow
style Widget_AppCompat_Light_ListView_DropDown
style Widget_AppCompat_Light_PopupMenu
style Widget_AppCompat_Light_PopupMenu_Overflow
style Widget_AppCompat_Light_SearchView
style Widget_AppCompat_Light_Spinner_DropDown_ActionBar
style Widget_AppCompat_ListMenuView
style Widget_AppCompat_ListPopupWindow
style Widget_AppCompat_ListView
style Widget_AppCompat_ListView_DropDown
style Widget_AppCompat_ListView_Menu
style Widget_AppCompat_PopupMenu
style Widget_AppCompat_PopupMenu_Overflow
style Widget_AppCompat_PopupWindow
style Widget_AppCompat_ProgressBar
style Widget_AppCompat_ProgressBar_Horizontal
style Widget_AppCompat_RatingBar
style Widget_AppCompat_RatingBar_Indicator
style Widget_AppCompat_RatingBar_Small
style Widget_AppCompat_SearchView
style Widget_AppCompat_SearchView_ActionBar
style Widget_AppCompat_SeekBar
style Widget_AppCompat_SeekBar_Discrete
style Widget_AppCompat_Spinner
style Widget_AppCompat_Spinner_DropDown
style Widget_AppCompat_Spinner_DropDown_ActionBar
style Widget_AppCompat_Spinner_Underlined
style Widget_AppCompat_TextView_SpinnerItem
style Widget_AppCompat_Toolbar
style Widget_AppCompat_Toolbar_Button_Navigation
style Widget_Compat_NotificationActionContainer
style Widget_Compat_NotificationActionText
style Widget_Support_CoordinatorLayout
styleable ActionBar background backgroundSplit backgroundStacked contentInsetEnd contentInsetEndWithActions contentInsetLeft contentInsetRight contentInsetStart contentInsetStartWithNavigation customNavigationLayout displayOptions divider elevation height hideOnContentScroll homeAsUpIndicator homeLayout icon indeterminateProgressStyle itemPadding logo navigationMode popupTheme progressBarPadding progressBarStyle subtitle subtitleTextStyle title titleTextStyle
styleable ActionBarLayout android_layout_gravity
styleable ActionMenuItemView android_minWidth
styleable ActionMenuView
styleable ActionMode background backgroundSplit closeItemLayout height subtitleTextStyle titleTextStyle
styleable ActivityChooserView expandActivityOverflowButtonDrawable initialActivityCount
styleable AlertDialog android_layout buttonIconDimen buttonPanelSideLayout listItemLayout listLayout multiChoiceItemLayout showTitle singleChoiceItemLayout
styleable AnimatedStateListDrawableCompat android_constantSize android_dither android_enterFadeDuration android_exitFadeDuration android_variablePadding android_visible
styleable AnimatedStateListDrawableItem android_drawable android_id
styleable AnimatedStateListDrawableTransition android_drawable android_fromId android_reversible android_toId
styleable AppCompatImageView android_src srcCompat tint tintMode
styleable AppCompatSeekBar android_thumb tickMark tickMarkTint tickMarkTintMode
styleable AppCompatTextHelper android_drawableBottom android_drawableEnd android_drawableLeft android_drawableRight android_drawableStart android_drawableTop android_textAppearance
styleable AppCompatTextView android_textAppearance autoSizeMaxTextSize autoSizeMinTextSize autoSizePresetSizes autoSizeStepGranularity autoSizeTextType firstBaselineToTopHeight fontFamily lastBaselineToBottomHeight lineHeight textAllCaps
styleable AppCompatTheme actionBarDivider actionBarItemBackground actionBarPopupTheme actionBarSize actionBarSplitStyle actionBarStyle actionBarTabBarStyle actionBarTabStyle actionBarTabTextStyle actionBarTheme actionBarWidgetTheme actionButtonStyle actionDropDownStyle actionMenuTextAppearance actionMenuTextColor actionModeBackground actionModeCloseButtonStyle actionModeCloseDrawable actionModeCopyDrawable actionModeCutDrawable actionModeFindDrawable actionModePasteDrawable actionModePopupWindowStyle actionModeSelectAllDrawable actionModeShareDrawable actionModeSplitBackground actionModeStyle actionModeWebSearchDrawable actionOverflowButtonStyle actionOverflowMenuStyle activityChooserViewStyle alertDialogButtonGroupStyle alertDialogCenterButtons alertDialogStyle alertDialogTheme android_windowAnimationStyle android_windowIsFloating autoCompleteTextViewStyle borderlessButtonStyle buttonBarButtonStyle buttonBarNegativeButtonStyle buttonBarNeutralButtonStyle buttonBarPositiveButtonStyle buttonBarStyle buttonStyle buttonStyleSmall checkboxStyle checkedTextViewStyle colorAccent colorBackgroundFloating colorButtonNormal colorControlActivated colorControlHighlight colorControlNormal colorError colorPrimary colorPrimaryDark colorSwitchThumbNormal controlBackground dialogCornerRadius dialogPreferredPadding dialogTheme dividerHorizontal dividerVertical dropDownListViewStyle dropdownListPreferredItemHeight editTextBackground editTextColor editTextStyle homeAsUpIndicator imageButtonStyle listChoiceBackgroundIndicator listDividerAlertDialog listMenuViewStyle listPopupWindowStyle listPreferredItemHeight listPreferredItemHeightLarge listPreferredItemHeightSmall listPreferredItemPaddingLeft listPreferredItemPaddingRight panelBackground panelMenuListTheme panelMenuListWidth popupMenuStyle popupWindowStyle radioButtonStyle ratingBarStyle ratingBarStyleIndicator ratingBarStyleSmall searchViewStyle seekBarStyle selectableItemBackground selectableItemBackgroundBorderless spinnerDropDownItemStyle spinnerStyle switchStyle textAppearanceLargePopupMenu textAppearanceListItem textAppearanceListItemSecondary textAppearanceListItemSmall textAppearancePopupMenuHeader textAppearanceSearchResultSubtitle textAppearanceSearchResultTitle textAppearanceSmallPopupMenu textColorAlertDialogListItem textColorSearchUrl toolbarNavigationButtonStyle toolbarStyle tooltipForegroundColor tooltipFrameBackground viewInflaterClass windowActionBar windowActionBarOverlay windowActionModeOverlay windowFixedHeightMajor windowFixedHeightMinor windowFixedWidthMajor windowFixedWidthMinor windowMinWidthMajor windowMinWidthMinor windowNoTitle
styleable ButtonBarLayout allowStacking
styleable ColorStateListItem alpha android_alpha android_color
styleable CompoundButton android_button buttonTint buttonTintMode
styleable CoordinatorLayout keylines statusBarBackground
styleable CoordinatorLayout_Layout android_layout_gravity layout_anchor layout_anchorGravity layout_behavior layout_dodgeInsetEdges layout_insetEdge layout_keyline
styleable DrawerArrowToggle arrowHeadLength arrowShaftLength barLength color drawableSize gapBetweenBars spinBars thickness
styleable FontFamily fontProviderAuthority fontProviderCerts fontProviderFetchStrategy fontProviderFetchTimeout fontProviderPackage fontProviderQuery
styleable FontFamilyFont android_font android_fontStyle android_fontVariationSettings android_fontWeight android_ttcIndex font fontStyle fontVariationSettings fontWeight ttcIndex
styleable GradientColor android_centerColor android_centerX android_centerY android_endColor android_endX android_endY android_gradientRadius android_startColor android_startX android_startY android_tileMode android_type
styleable GradientColorItem android_color android_offset
styleable LinearLayoutCompat android_baselineAligned android_baselineAlignedChildIndex android_gravity android_orientation android_weightSum divider dividerPadding measureWithLargestChild showDividers
styleable LinearLayoutCompat_Layout android_layout_gravity android_layout_height android_layout_weight android_layout_width
styleable ListPopupWindow android_dropDownHorizontalOffset android_dropDownVerticalOffset
styleable MenuGroup android_checkableBehavior android_enabled android_id android_menuCategory android_orderInCategory android_visible
styleable MenuItem actionLayout actionProviderClass actionViewClass alphabeticModifiers android_alphabeticShortcut android_checkable android_checked android_enabled android_icon android_id android_menuCategory android_numericShortcut android_onClick android_orderInCategory android_title android_titleCondensed android_visible contentDescription iconTint iconTintMode numericModifiers showAsAction tooltipText
styleable MenuView android_headerBackground android_horizontalDivider android_itemBackground android_itemIconDisabledAlpha android_itemTextAppearance android_verticalDivider android_windowAnimationStyle preserveIconSpacing subMenuArrow
styleable PopupWindow android_popupAnimationStyle android_popupBackground overlapAnchor
styleable PopupWindowBackgroundState state_above_anchor
styleable RecycleListView paddingBottomNoButtons paddingTopNoTitle
styleable SearchView android_focusable android_imeOptions android_inputType android_maxWidth closeIcon commitIcon defaultQueryHint goIcon iconifiedByDefault layout queryBackground queryHint searchHintIcon searchIcon submitBackground suggestionRowLayout voiceIcon
styleable Spinner android_dropDownWidth android_entries android_popupBackground android_prompt popupTheme
styleable StateListDrawable android_constantSize android_dither android_enterFadeDuration android_exitFadeDuration android_variablePadding android_visible
styleable StateListDrawableItem android_drawable
styleable SwitchCompat android_textOff android_textOn android_thumb showText splitTrack switchMinWidth switchPadding switchTextAppearance thumbTextPadding thumbTint thumbTintMode track trackTint trackTintMode
styleable TextAppearance android_fontFamily android_shadowColor android_shadowDx android_shadowDy android_shadowRadius android_textColor android_textColorHint android_textColorLink android_textSize android_textStyle android_typeface fontFamily textAllCaps
styleable Toolbar android_gravity android_minHeight buttonGravity collapseContentDescription collapseIcon contentInsetEnd contentInsetEndWithActions contentInsetLeft contentInsetRight contentInsetStart contentInsetStartWithNavigation logo logoDescription maxButtonHeight navigationContentDescription navigationIcon popupTheme subtitle subtitleTextAppearance subtitleTextColor title titleMargin titleMarginBottom titleMarginEnd titleMarginStart titleMarginTop titleMargins titleTextAppearance titleTextColor
styleable View android_focusable android_theme paddingEnd paddingStart theme
styleable ViewBackgroundHelper android_background backgroundTint backgroundTintMode
styleable ViewStubCompat android_id android_inflatedId android_layout
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.bun.miitmdid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="28"
tools:overrideLibrary="com.zui.opendeviceidlibrary" />
// asus
<uses-permission android:name="com.asus.msa.SupplementaryDID.ACCESS" />
//freeme
<uses-permission android:name="freemme.permission.msa" />
</manifest>
\ No newline at end of file
int anim abc_fade_in 0x0
int anim abc_fade_out 0x0
int anim abc_grow_fade_in_from_bottom 0x0
int anim abc_popup_enter 0x0
int anim abc_popup_exit 0x0
int anim abc_shrink_fade_out_from_bottom 0x0
int anim abc_slide_in_bottom 0x0
int anim abc_slide_in_top 0x0
int anim abc_slide_out_bottom 0x0
int anim abc_slide_out_top 0x0
int anim abc_tooltip_enter 0x0
int anim abc_tooltip_exit 0x0
int attr actionBarDivider 0x0
int attr actionBarItemBackground 0x0
int attr actionBarPopupTheme 0x0
int attr actionBarSize 0x0
int attr actionBarSplitStyle 0x0
int attr actionBarStyle 0x0
int attr actionBarTabBarStyle 0x0
int attr actionBarTabStyle 0x0
int attr actionBarTabTextStyle 0x0
int attr actionBarTheme 0x0
int attr actionBarWidgetTheme 0x0
int attr actionButtonStyle 0x0
int attr actionDropDownStyle 0x0
int attr actionLayout 0x0
int attr actionMenuTextAppearance 0x0
int attr actionMenuTextColor 0x0
int attr actionModeBackground 0x0
int attr actionModeCloseButtonStyle 0x0
int attr actionModeCloseDrawable 0x0
int attr actionModeCopyDrawable 0x0
int attr actionModeCutDrawable 0x0
int attr actionModeFindDrawable 0x0
int attr actionModePasteDrawable 0x0
int attr actionModePopupWindowStyle 0x0
int attr actionModeSelectAllDrawable 0x0
int attr actionModeShareDrawable 0x0
int attr actionModeSplitBackground 0x0
int attr actionModeStyle 0x0
int attr actionModeWebSearchDrawable 0x0
int attr actionOverflowButtonStyle 0x0
int attr actionOverflowMenuStyle 0x0
int attr actionProviderClass 0x0
int attr actionViewClass 0x0
int attr activityChooserViewStyle 0x0
int attr alertDialogButtonGroupStyle 0x0
int attr alertDialogCenterButtons 0x0
int attr alertDialogStyle 0x0
int attr alertDialogTheme 0x0
int attr allowStacking 0x0
int attr alpha 0x0
int attr alphabeticModifiers 0x0
int attr arrowHeadLength 0x0
int attr arrowShaftLength 0x0
int attr autoCompleteTextViewStyle 0x0
int attr autoSizeMaxTextSize 0x0
int attr autoSizeMinTextSize 0x0
int attr autoSizePresetSizes 0x0
int attr autoSizeStepGranularity 0x0
int attr autoSizeTextType 0x0
int attr background 0x0
int attr backgroundSplit 0x0
int attr backgroundStacked 0x0
int attr backgroundTint 0x0
int attr backgroundTintMode 0x0
int attr barLength 0x0
int attr borderlessButtonStyle 0x0
int attr buttonBarButtonStyle 0x0
int attr buttonBarNegativeButtonStyle 0x0
int attr buttonBarNeutralButtonStyle 0x0
int attr buttonBarPositiveButtonStyle 0x0
int attr buttonBarStyle 0x0
int attr buttonGravity 0x0
int attr buttonIconDimen 0x0
int attr buttonPanelSideLayout 0x0
int attr buttonStyle 0x0
int attr buttonStyleSmall 0x0
int attr buttonTint 0x0
int attr buttonTintMode 0x0
int attr checkboxStyle 0x0
int attr checkedTextViewStyle 0x0
int attr closeIcon 0x0
int attr closeItemLayout 0x0
int attr collapseContentDescription 0x0
int attr collapseIcon 0x0
int attr color 0x0
int attr colorAccent 0x0
int attr colorBackgroundFloating 0x0
int attr colorButtonNormal 0x0
int attr colorControlActivated 0x0
int attr colorControlHighlight 0x0
int attr colorControlNormal 0x0
int attr colorError 0x0
int attr colorPrimary 0x0
int attr colorPrimaryDark 0x0
int attr colorSwitchThumbNormal 0x0
int attr commitIcon 0x0
int attr contentDescription 0x0
int attr contentInsetEnd 0x0
int attr contentInsetEndWithActions 0x0
int attr contentInsetLeft 0x0
int attr contentInsetRight 0x0
int attr contentInsetStart 0x0
int attr contentInsetStartWithNavigation 0x0
int attr controlBackground 0x0
int attr coordinatorLayoutStyle 0x0
int attr customNavigationLayout 0x0
int attr defaultQueryHint 0x0
int attr dialogCornerRadius 0x0
int attr dialogPreferredPadding 0x0
int attr dialogTheme 0x0
int attr displayOptions 0x0
int attr divider 0x0
int attr dividerHorizontal 0x0
int attr dividerPadding 0x0
int attr dividerVertical 0x0
int attr drawableSize 0x0
int attr drawerArrowStyle 0x0
int attr dropDownListViewStyle 0x0
int attr dropdownListPreferredItemHeight 0x0
int attr editTextBackground 0x0
int attr editTextColor 0x0
int attr editTextStyle 0x0
int attr elevation 0x0
int attr expandActivityOverflowButtonDrawable 0x0
int attr firstBaselineToTopHeight 0x0
int attr font 0x0
int attr fontFamily 0x0
int attr fontProviderAuthority 0x0
int attr fontProviderCerts 0x0
int attr fontProviderFetchStrategy 0x0
int attr fontProviderFetchTimeout 0x0
int attr fontProviderPackage 0x0
int attr fontProviderQuery 0x0
int attr fontStyle 0x0
int attr fontVariationSettings 0x0
int attr fontWeight 0x0
int attr gapBetweenBars 0x0
int attr goIcon 0x0
int attr height 0x0
int attr hideOnContentScroll 0x0
int attr homeAsUpIndicator 0x0
int attr homeLayout 0x0
int attr icon 0x0
int attr iconTint 0x0
int attr iconTintMode 0x0
int attr iconifiedByDefault 0x0
int attr imageButtonStyle 0x0
int attr indeterminateProgressStyle 0x0
int attr initialActivityCount 0x0
int attr isLightTheme 0x0
int attr itemPadding 0x0
int attr keylines 0x0
int attr lastBaselineToBottomHeight 0x0
int attr layout 0x0
int attr layout_anchor 0x0
int attr layout_anchorGravity 0x0
int attr layout_behavior 0x0
int attr layout_dodgeInsetEdges 0x0
int attr layout_insetEdge 0x0
int attr layout_keyline 0x0
int attr lineHeight 0x0
int attr listChoiceBackgroundIndicator 0x0
int attr listDividerAlertDialog 0x0
int attr listItemLayout 0x0
int attr listLayout 0x0
int attr listMenuViewStyle 0x0
int attr listPopupWindowStyle 0x0
int attr listPreferredItemHeight 0x0
int attr listPreferredItemHeightLarge 0x0
int attr listPreferredItemHeightSmall 0x0
int attr listPreferredItemPaddingLeft 0x0
int attr listPreferredItemPaddingRight 0x0
int attr logo 0x0
int attr logoDescription 0x0
int attr maxButtonHeight 0x0
int attr measureWithLargestChild 0x0
int attr multiChoiceItemLayout 0x0
int attr navigationContentDescription 0x0
int attr navigationIcon 0x0
int attr navigationMode 0x0
int attr numericModifiers 0x0
int attr overlapAnchor 0x0
int attr paddingBottomNoButtons 0x0
int attr paddingEnd 0x0
int attr paddingStart 0x0
int attr paddingTopNoTitle 0x0
int attr panelBackground 0x0
int attr panelMenuListTheme 0x0
int attr panelMenuListWidth 0x0
int attr popupMenuStyle 0x0
int attr popupTheme 0x0
int attr popupWindowStyle 0x0
int attr preserveIconSpacing 0x0
int attr progressBarPadding 0x0
int attr progressBarStyle 0x0
int attr queryBackground 0x0
int attr queryHint 0x0
int attr radioButtonStyle 0x0
int attr ratingBarStyle 0x0
int attr ratingBarStyleIndicator 0x0
int attr ratingBarStyleSmall 0x0
int attr searchHintIcon 0x0
int attr searchIcon 0x0
int attr searchViewStyle 0x0
int attr seekBarStyle 0x0
int attr selectableItemBackground 0x0
int attr selectableItemBackgroundBorderless 0x0
int attr showAsAction 0x0
int attr showDividers 0x0
int attr showText 0x0
int attr showTitle 0x0
int attr singleChoiceItemLayout 0x0
int attr spinBars 0x0
int attr spinnerDropDownItemStyle 0x0
int attr spinnerStyle 0x0
int attr splitTrack 0x0
int attr srcCompat 0x0
int attr state_above_anchor 0x0
int attr statusBarBackground 0x0
int attr subMenuArrow 0x0
int attr submitBackground 0x0
int attr subtitle 0x0
int attr subtitleTextAppearance 0x0
int attr subtitleTextColor 0x0
int attr subtitleTextStyle 0x0
int attr suggestionRowLayout 0x0
int attr switchMinWidth 0x0
int attr switchPadding 0x0
int attr switchStyle 0x0
int attr switchTextAppearance 0x0
int attr textAllCaps 0x0
int attr textAppearanceLargePopupMenu 0x0
int attr textAppearanceListItem 0x0
int attr textAppearanceListItemSecondary 0x0
int attr textAppearanceListItemSmall 0x0
int attr textAppearancePopupMenuHeader 0x0
int attr textAppearanceSearchResultSubtitle 0x0
int attr textAppearanceSearchResultTitle 0x0
int attr textAppearanceSmallPopupMenu 0x0
int attr textColorAlertDialogListItem 0x0
int attr textColorSearchUrl 0x0
int attr theme 0x0
int attr thickness 0x0
int attr thumbTextPadding 0x0
int attr thumbTint 0x0
int attr thumbTintMode 0x0
int attr tickMark 0x0
int attr tickMarkTint 0x0
int attr tickMarkTintMode 0x0
int attr tint 0x0
int attr tintMode 0x0
int attr title 0x0
int attr titleMargin 0x0
int attr titleMarginBottom 0x0
int attr titleMarginEnd 0x0
int attr titleMarginStart 0x0
int attr titleMarginTop 0x0
int attr titleMargins 0x0
int attr titleTextAppearance 0x0
int attr titleTextColor 0x0
int attr titleTextStyle 0x0
int attr toolbarNavigationButtonStyle 0x0
int attr toolbarStyle 0x0
int attr tooltipForegroundColor 0x0
int attr tooltipFrameBackground 0x0
int attr tooltipText 0x0
int attr track 0x0
int attr trackTint 0x0
int attr trackTintMode 0x0
int attr ttcIndex 0x0
int attr viewInflaterClass 0x0
int attr voiceIcon 0x0
int attr windowActionBar 0x0
int attr windowActionBarOverlay 0x0
int attr windowActionModeOverlay 0x0
int attr windowFixedHeightMajor 0x0
int attr windowFixedHeightMinor 0x0
int attr windowFixedWidthMajor 0x0
int attr windowFixedWidthMinor 0x0
int attr windowMinWidthMajor 0x0
int attr windowMinWidthMinor 0x0
int attr windowNoTitle 0x0
int bool abc_action_bar_embed_tabs 0x0
int bool abc_allow_stacked_button_bar 0x0
int bool abc_config_actionMenuItemAllCaps 0x0
int color abc_background_cache_hint_selector_material_dark 0x0
int color abc_background_cache_hint_selector_material_light 0x0
int color abc_btn_colored_borderless_text_material 0x0
int color abc_btn_colored_text_material 0x0
int color abc_color_highlight_material 0x0
int color abc_hint_foreground_material_dark 0x0
int color abc_hint_foreground_material_light 0x0
int color abc_input_method_navigation_guard 0x0
int color abc_primary_text_disable_only_material_dark 0x0
int color abc_primary_text_disable_only_material_light 0x0
int color abc_primary_text_material_dark 0x0
int color abc_primary_text_material_light 0x0
int color abc_search_url_text 0x0
int color abc_search_url_text_normal 0x0
int color abc_search_url_text_pressed 0x0
int color abc_search_url_text_selected 0x0
int color abc_secondary_text_material_dark 0x0
int color abc_secondary_text_material_light 0x0
int color abc_tint_btn_checkable 0x0
int color abc_tint_default 0x0
int color abc_tint_edittext 0x0
int color abc_tint_seek_thumb 0x0
int color abc_tint_spinner 0x0
int color abc_tint_switch_track 0x0
int color accent_material_dark 0x0
int color accent_material_light 0x0
int color background_floating_material_dark 0x0
int color background_floating_material_light 0x0
int color background_material_dark 0x0
int color background_material_light 0x0
int color bright_foreground_disabled_material_dark 0x0
int color bright_foreground_disabled_material_light 0x0
int color bright_foreground_inverse_material_dark 0x0
int color bright_foreground_inverse_material_light 0x0
int color bright_foreground_material_dark 0x0
int color bright_foreground_material_light 0x0
int color button_material_dark 0x0
int color button_material_light 0x0
int color dim_foreground_disabled_material_dark 0x0
int color dim_foreground_disabled_material_light 0x0
int color dim_foreground_material_dark 0x0
int color dim_foreground_material_light 0x0
int color error_color_material_dark 0x0
int color error_color_material_light 0x0
int color foreground_material_dark 0x0
int color foreground_material_light 0x0
int color highlighted_text_material_dark 0x0
int color highlighted_text_material_light 0x0
int color material_blue_grey_800 0x0
int color material_blue_grey_900 0x0
int color material_blue_grey_950 0x0
int color material_deep_teal_200 0x0
int color material_deep_teal_500 0x0
int color material_grey_100 0x0
int color material_grey_300 0x0
int color material_grey_50 0x0
int color material_grey_600 0x0
int color material_grey_800 0x0
int color material_grey_850 0x0
int color material_grey_900 0x0
int color notification_action_color_filter 0x0
int color notification_icon_bg_color 0x0
int color primary_dark_material_dark 0x0
int color primary_dark_material_light 0x0
int color primary_material_dark 0x0
int color primary_material_light 0x0
int color primary_text_default_material_dark 0x0
int color primary_text_default_material_light 0x0
int color primary_text_disabled_material_dark 0x0
int color primary_text_disabled_material_light 0x0
int color ripple_material_dark 0x0
int color ripple_material_light 0x0
int color secondary_text_default_material_dark 0x0
int color secondary_text_default_material_light 0x0
int color secondary_text_disabled_material_dark 0x0
int color secondary_text_disabled_material_light 0x0
int color switch_thumb_disabled_material_dark 0x0
int color switch_thumb_disabled_material_light 0x0
int color switch_thumb_material_dark 0x0
int color switch_thumb_material_light 0x0
int color switch_thumb_normal_material_dark 0x0
int color switch_thumb_normal_material_light 0x0
int color tooltip_background_dark 0x0
int color tooltip_background_light 0x0
int dimen abc_action_bar_content_inset_material 0x0
int dimen abc_action_bar_content_inset_with_nav 0x0
int dimen abc_action_bar_default_height_material 0x0
int dimen abc_action_bar_default_padding_end_material 0x0
int dimen abc_action_bar_default_padding_start_material 0x0
int dimen abc_action_bar_elevation_material 0x0
int dimen abc_action_bar_icon_vertical_padding_material 0x0
int dimen abc_action_bar_overflow_padding_end_material 0x0
int dimen abc_action_bar_overflow_padding_start_material 0x0
int dimen abc_action_bar_stacked_max_height 0x0
int dimen abc_action_bar_stacked_tab_max_width 0x0
int dimen abc_action_bar_subtitle_bottom_margin_material 0x0
int dimen abc_action_bar_subtitle_top_margin_material 0x0
int dimen abc_action_button_min_height_material 0x0
int dimen abc_action_button_min_width_material 0x0
int dimen abc_action_button_min_width_overflow_material 0x0
int dimen abc_alert_dialog_button_bar_height 0x0
int dimen abc_alert_dialog_button_dimen 0x0
int dimen abc_button_inset_horizontal_material 0x0
int dimen abc_button_inset_vertical_material 0x0
int dimen abc_button_padding_horizontal_material 0x0
int dimen abc_button_padding_vertical_material 0x0
int dimen abc_cascading_menus_min_smallest_width 0x0
int dimen abc_config_prefDialogWidth 0x0
int dimen abc_control_corner_material 0x0
int dimen abc_control_inset_material 0x0
int dimen abc_control_padding_material 0x0
int dimen abc_dialog_corner_radius_material 0x0
int dimen abc_dialog_fixed_height_major 0x0
int dimen abc_dialog_fixed_height_minor 0x0
int dimen abc_dialog_fixed_width_major 0x0
int dimen abc_dialog_fixed_width_minor 0x0
int dimen abc_dialog_list_padding_bottom_no_buttons 0x0
int dimen abc_dialog_list_padding_top_no_title 0x0
int dimen abc_dialog_min_width_major 0x0
int dimen abc_dialog_min_width_minor 0x0
int dimen abc_dialog_padding_material 0x0
int dimen abc_dialog_padding_top_material 0x0
int dimen abc_dialog_title_divider_material 0x0
int dimen abc_disabled_alpha_material_dark 0x0
int dimen abc_disabled_alpha_material_light 0x0
int dimen abc_dropdownitem_icon_width 0x0
int dimen abc_dropdownitem_text_padding_left 0x0
int dimen abc_dropdownitem_text_padding_right 0x0
int dimen abc_edit_text_inset_bottom_material 0x0
int dimen abc_edit_text_inset_horizontal_material 0x0
int dimen abc_edit_text_inset_top_material 0x0
int dimen abc_floating_window_z 0x0
int dimen abc_list_item_padding_horizontal_material 0x0
int dimen abc_panel_menu_list_width 0x0
int dimen abc_progress_bar_height_material 0x0
int dimen abc_search_view_preferred_height 0x0
int dimen abc_search_view_preferred_width 0x0
int dimen abc_seekbar_track_background_height_material 0x0
int dimen abc_seekbar_track_progress_height_material 0x0
int dimen abc_select_dialog_padding_start_material 0x0
int dimen abc_switch_padding 0x0
int dimen abc_text_size_body_1_material 0x0
int dimen abc_text_size_body_2_material 0x0
int dimen abc_text_size_button_material 0x0
int dimen abc_text_size_caption_material 0x0
int dimen abc_text_size_display_1_material 0x0
int dimen abc_text_size_display_2_material 0x0
int dimen abc_text_size_display_3_material 0x0
int dimen abc_text_size_display_4_material 0x0
int dimen abc_text_size_headline_material 0x0
int dimen abc_text_size_large_material 0x0
int dimen abc_text_size_medium_material 0x0
int dimen abc_text_size_menu_header_material 0x0
int dimen abc_text_size_menu_material 0x0
int dimen abc_text_size_small_material 0x0
int dimen abc_text_size_subhead_material 0x0
int dimen abc_text_size_subtitle_material_toolbar 0x0
int dimen abc_text_size_title_material 0x0
int dimen abc_text_size_title_material_toolbar 0x0
int dimen compat_button_inset_horizontal_material 0x0
int dimen compat_button_inset_vertical_material 0x0
int dimen compat_button_padding_horizontal_material 0x0
int dimen compat_button_padding_vertical_material 0x0
int dimen compat_control_corner_material 0x0
int dimen compat_notification_large_icon_max_height 0x0
int dimen compat_notification_large_icon_max_width 0x0
int dimen disabled_alpha_material_dark 0x0
int dimen disabled_alpha_material_light 0x0
int dimen highlight_alpha_material_colored 0x0
int dimen highlight_alpha_material_dark 0x0
int dimen highlight_alpha_material_light 0x0
int dimen hint_alpha_material_dark 0x0
int dimen hint_alpha_material_light 0x0
int dimen hint_pressed_alpha_material_dark 0x0
int dimen hint_pressed_alpha_material_light 0x0
int dimen notification_action_icon_size 0x0
int dimen notification_action_text_size 0x0
int dimen notification_big_circle_margin 0x0
int dimen notification_content_margin_start 0x0
int dimen notification_large_icon_height 0x0
int dimen notification_large_icon_width 0x0
int dimen notification_main_column_padding_top 0x0
int dimen notification_media_narrow_margin 0x0
int dimen notification_right_icon_size 0x0
int dimen notification_right_side_padding_top 0x0
int dimen notification_small_icon_background_padding 0x0
int dimen notification_small_icon_size_as_large 0x0
int dimen notification_subtext_size 0x0
int dimen notification_top_pad 0x0
int dimen notification_top_pad_large_text 0x0
int dimen tooltip_corner_radius 0x0
int dimen tooltip_horizontal_padding 0x0
int dimen tooltip_margin 0x0
int dimen tooltip_precise_anchor_extra_offset 0x0
int dimen tooltip_precise_anchor_threshold 0x0
int dimen tooltip_vertical_padding 0x0
int dimen tooltip_y_offset_non_touch 0x0
int dimen tooltip_y_offset_touch 0x0
int drawable abc_ab_share_pack_mtrl_alpha 0x0
int drawable abc_action_bar_item_background_material 0x0
int drawable abc_btn_borderless_material 0x0
int drawable abc_btn_check_material 0x0
int drawable abc_btn_check_to_on_mtrl_000 0x0
int drawable abc_btn_check_to_on_mtrl_015 0x0
int drawable abc_btn_colored_material 0x0
int drawable abc_btn_default_mtrl_shape 0x0
int drawable abc_btn_radio_material 0x0
int drawable abc_btn_radio_to_on_mtrl_000 0x0
int drawable abc_btn_radio_to_on_mtrl_015 0x0
int drawable abc_btn_switch_to_on_mtrl_00001 0x0
int drawable abc_btn_switch_to_on_mtrl_00012 0x0
int drawable abc_cab_background_internal_bg 0x0
int drawable abc_cab_background_top_material 0x0
int drawable abc_cab_background_top_mtrl_alpha 0x0
int drawable abc_control_background_material 0x0
int drawable abc_dialog_material_background 0x0
int drawable abc_edit_text_material 0x0
int drawable abc_ic_ab_back_material 0x0
int drawable abc_ic_arrow_drop_right_black_24dp 0x0
int drawable abc_ic_clear_material 0x0
int drawable abc_ic_commit_search_api_mtrl_alpha 0x0
int drawable abc_ic_go_search_api_material 0x0
int drawable abc_ic_menu_copy_mtrl_am_alpha 0x0
int drawable abc_ic_menu_cut_mtrl_alpha 0x0
int drawable abc_ic_menu_overflow_material 0x0
int drawable abc_ic_menu_paste_mtrl_am_alpha 0x0
int drawable abc_ic_menu_selectall_mtrl_alpha 0x0
int drawable abc_ic_menu_share_mtrl_alpha 0x0
int drawable abc_ic_search_api_material 0x0
int drawable abc_ic_star_black_16dp 0x0
int drawable abc_ic_star_black_36dp 0x0
int drawable abc_ic_star_black_48dp 0x0
int drawable abc_ic_star_half_black_16dp 0x0
int drawable abc_ic_star_half_black_36dp 0x0
int drawable abc_ic_star_half_black_48dp 0x0
int drawable abc_ic_voice_search_api_material 0x0
int drawable abc_item_background_holo_dark 0x0
int drawable abc_item_background_holo_light 0x0
int drawable abc_list_divider_material 0x0
int drawable abc_list_divider_mtrl_alpha 0x0
int drawable abc_list_focused_holo 0x0
int drawable abc_list_longpressed_holo 0x0
int drawable abc_list_pressed_holo_dark 0x0
int drawable abc_list_pressed_holo_light 0x0
int drawable abc_list_selector_background_transition_holo_dark 0x0
int drawable abc_list_selector_background_transition_holo_light 0x0
int drawable abc_list_selector_disabled_holo_dark 0x0
int drawable abc_list_selector_disabled_holo_light 0x0
int drawable abc_list_selector_holo_dark 0x0
int drawable abc_list_selector_holo_light 0x0
int drawable abc_menu_hardkey_panel_mtrl_mult 0x0
int drawable abc_popup_background_mtrl_mult 0x0
int drawable abc_ratingbar_indicator_material 0x0
int drawable abc_ratingbar_material 0x0
int drawable abc_ratingbar_small_material 0x0
int drawable abc_scrubber_control_off_mtrl_alpha 0x0
int drawable abc_scrubber_control_to_pressed_mtrl_000 0x0
int drawable abc_scrubber_control_to_pressed_mtrl_005 0x0
int drawable abc_scrubber_primary_mtrl_alpha 0x0
int drawable abc_scrubber_track_mtrl_alpha 0x0
int drawable abc_seekbar_thumb_material 0x0
int drawable abc_seekbar_tick_mark_material 0x0
int drawable abc_seekbar_track_material 0x0
int drawable abc_spinner_mtrl_am_alpha 0x0
int drawable abc_spinner_textfield_background_material 0x0
int drawable abc_switch_thumb_material 0x0
int drawable abc_switch_track_mtrl_alpha 0x0
int drawable abc_tab_indicator_material 0x0
int drawable abc_tab_indicator_mtrl_alpha 0x0
int drawable abc_text_cursor_material 0x0
int drawable abc_text_select_handle_left_mtrl_dark 0x0
int drawable abc_text_select_handle_left_mtrl_light 0x0
int drawable abc_text_select_handle_middle_mtrl_dark 0x0
int drawable abc_text_select_handle_middle_mtrl_light 0x0
int drawable abc_text_select_handle_right_mtrl_dark 0x0
int drawable abc_text_select_handle_right_mtrl_light 0x0
int drawable abc_textfield_activated_mtrl_alpha 0x0
int drawable abc_textfield_default_mtrl_alpha 0x0
int drawable abc_textfield_search_activated_mtrl_alpha 0x0
int drawable abc_textfield_search_default_mtrl_alpha 0x0
int drawable abc_textfield_search_material 0x0
int drawable abc_vector_test 0x0
int drawable notification_action_background 0x0
int drawable notification_bg 0x0
int drawable notification_bg_low 0x0
int drawable notification_bg_low_normal 0x0
int drawable notification_bg_low_pressed 0x0
int drawable notification_bg_normal 0x0
int drawable notification_bg_normal_pressed 0x0
int drawable notification_icon_background 0x0
int drawable notification_template_icon_bg 0x0
int drawable notification_template_icon_low_bg 0x0
int drawable notification_tile_bg 0x0
int drawable notify_panel_notification_icon_bg 0x0
int drawable tooltip_frame_dark 0x0
int drawable tooltip_frame_light 0x0
int id action_bar 0x0
int id action_bar_activity_content 0x0
int id action_bar_container 0x0
int id action_bar_root 0x0
int id action_bar_spinner 0x0
int id action_bar_subtitle 0x0
int id action_bar_title 0x0
int id action_container 0x0
int id action_context_bar 0x0
int id action_divider 0x0
int id action_image 0x0
int id action_menu_divider 0x0
int id action_menu_presenter 0x0
int id action_mode_bar 0x0
int id action_mode_bar_stub 0x0
int id action_mode_close_button 0x0
int id action_text 0x0
int id actions 0x0
int id activity_chooser_view_content 0x0
int id add 0x0
int id alertTitle 0x0
int id async 0x0
int id blocking 0x0
int id bottom 0x0
int id buttonPanel 0x0
int id checkbox 0x0
int id chronometer 0x0
int id content 0x0
int id contentPanel 0x0
int id custom 0x0
int id customPanel 0x0
int id decor_content_parent 0x0
int id default_activity_button 0x0
int id edit_query 0x0
int id end 0x0
int id expand_activities_button 0x0
int id expanded_menu 0x0
int id forever 0x0
int id group_divider 0x0
int id home 0x0
int id icon 0x0
int id icon_group 0x0
int id image 0x0
int id info 0x0
int id italic 0x0
int id left 0x0
int id line1 0x0
int id line3 0x0
int id listMode 0x0
int id list_item 0x0
int id message 0x0
int id multiply 0x0
int id none 0x0
int id normal 0x0
int id notification_background 0x0
int id notification_main_column 0x0
int id notification_main_column_container 0x0
int id parentPanel 0x0
int id progress_circular 0x0
int id progress_horizontal 0x0
int id radio 0x0
int id right 0x0
int id right_icon 0x0
int id right_side 0x0
int id screen 0x0
int id scrollIndicatorDown 0x0
int id scrollIndicatorUp 0x0
int id scrollView 0x0
int id search_badge 0x0
int id search_bar 0x0
int id search_button 0x0
int id search_close_btn 0x0
int id search_edit_frame 0x0
int id search_go_btn 0x0
int id search_mag_icon 0x0
int id search_plate 0x0
int id search_src_text 0x0
int id search_voice_btn 0x0
int id select_dialog_listview 0x0
int id shortcut 0x0
int id spacer 0x0
int id split_action_bar 0x0
int id src_atop 0x0
int id src_in 0x0
int id src_over 0x0
int id start 0x0
int id submenuarrow 0x0
int id submit_area 0x0
int id tabMode 0x0
int id tag_transition_group 0x0
int id tag_unhandled_key_event_manager 0x0
int id tag_unhandled_key_listeners 0x0
int id text 0x0
int id text2 0x0
int id textSpacerNoButtons 0x0
int id textSpacerNoTitle 0x0
int id time 0x0
int id title 0x0
int id titleDividerNoCustom 0x0
int id title_template 0x0
int id top 0x0
int id topPanel 0x0
int id uniform 0x0
int id up 0x0
int id wrap_content 0x0
int integer abc_config_activityDefaultDur 0x0
int integer abc_config_activityShortDur 0x0
int integer cancel_button_image_alpha 0x0
int integer config_tooltipAnimTime 0x0
int integer status_bar_notification_info_maxnum 0x0
int layout abc_action_bar_title_item 0x0
int layout abc_action_bar_up_container 0x0
int layout abc_action_menu_item_layout 0x0
int layout abc_action_menu_layout 0x0
int layout abc_action_mode_bar 0x0
int layout abc_action_mode_close_item_material 0x0
int layout abc_activity_chooser_view 0x0
int layout abc_activity_chooser_view_list_item 0x0
int layout abc_alert_dialog_button_bar_material 0x0
int layout abc_alert_dialog_material 0x0
int layout abc_alert_dialog_title_material 0x0
int layout abc_cascading_menu_item_layout 0x0
int layout abc_dialog_title_material 0x0
int layout abc_expanded_menu_layout 0x0
int layout abc_list_menu_item_checkbox 0x0
int layout abc_list_menu_item_icon 0x0
int layout abc_list_menu_item_layout 0x0
int layout abc_list_menu_item_radio 0x0
int layout abc_popup_menu_header_item_layout 0x0
int layout abc_popup_menu_item_layout 0x0
int layout abc_screen_content_include 0x0
int layout abc_screen_simple 0x0
int layout abc_screen_simple_overlay_action_mode 0x0
int layout abc_screen_toolbar 0x0
int layout abc_search_dropdown_item_icons_2line 0x0
int layout abc_search_view 0x0
int layout abc_select_dialog_material 0x0
int layout abc_tooltip 0x0
int layout notification_action 0x0
int layout notification_action_tombstone 0x0
int layout notification_template_custom_big 0x0
int layout notification_template_icon_group 0x0
int layout notification_template_part_chronometer 0x0
int layout notification_template_part_time 0x0
int layout select_dialog_item_material 0x0
int layout select_dialog_multichoice_material 0x0
int layout select_dialog_singlechoice_material 0x0
int layout support_simple_spinner_dropdown_item 0x0
int string abc_action_bar_home_description 0x0
int string abc_action_bar_up_description 0x0
int string abc_action_menu_overflow_description 0x0
int string abc_action_mode_done 0x0
int string abc_activity_chooser_view_see_all 0x0
int string abc_activitychooserview_choose_application 0x0
int string abc_capital_off 0x0
int string abc_capital_on 0x0
int string abc_font_family_body_1_material 0x0
int string abc_font_family_body_2_material 0x0
int string abc_font_family_button_material 0x0
int string abc_font_family_caption_material 0x0
int string abc_font_family_display_1_material 0x0
int string abc_font_family_display_2_material 0x0
int string abc_font_family_display_3_material 0x0
int string abc_font_family_display_4_material 0x0
int string abc_font_family_headline_material 0x0
int string abc_font_family_menu_material 0x0
int string abc_font_family_subhead_material 0x0
int string abc_font_family_title_material 0x0
int string abc_menu_alt_shortcut_label 0x0
int string abc_menu_ctrl_shortcut_label 0x0
int string abc_menu_delete_shortcut_label 0x0
int string abc_menu_enter_shortcut_label 0x0
int string abc_menu_function_shortcut_label 0x0
int string abc_menu_meta_shortcut_label 0x0
int string abc_menu_shift_shortcut_label 0x0
int string abc_menu_space_shortcut_label 0x0
int string abc_menu_sym_shortcut_label 0x0
int string abc_prepend_shortcut_label 0x0
int string abc_search_hint 0x0
int string abc_searchview_description_clear 0x0
int string abc_searchview_description_query 0x0
int string abc_searchview_description_search 0x0
int string abc_searchview_description_submit 0x0
int string abc_searchview_description_voice 0x0
int string abc_shareactionprovider_share_with 0x0
int string abc_shareactionprovider_share_with_application 0x0
int string abc_toolbar_collapse_description 0x0
int string search_menu_title 0x0
int string status_bar_notification_info_overflow 0x0
int style AlertDialog_AppCompat 0x0
int style AlertDialog_AppCompat_Light 0x0
int style Animation_AppCompat_Dialog 0x0
int style Animation_AppCompat_DropDownUp 0x0
int style Animation_AppCompat_Tooltip 0x0
int style Base_AlertDialog_AppCompat 0x0
int style Base_AlertDialog_AppCompat_Light 0x0
int style Base_Animation_AppCompat_Dialog 0x0
int style Base_Animation_AppCompat_DropDownUp 0x0
int style Base_Animation_AppCompat_Tooltip 0x0
int style Base_DialogWindowTitleBackground_AppCompat 0x0
int style Base_DialogWindowTitle_AppCompat 0x0
int style Base_TextAppearance_AppCompat 0x0
int style Base_TextAppearance_AppCompat_Body1 0x0
int style Base_TextAppearance_AppCompat_Body2 0x0
int style Base_TextAppearance_AppCompat_Button 0x0
int style Base_TextAppearance_AppCompat_Caption 0x0
int style Base_TextAppearance_AppCompat_Display1 0x0
int style Base_TextAppearance_AppCompat_Display2 0x0
int style Base_TextAppearance_AppCompat_Display3 0x0
int style Base_TextAppearance_AppCompat_Display4 0x0
int style Base_TextAppearance_AppCompat_Headline 0x0
int style Base_TextAppearance_AppCompat_Inverse 0x0
int style Base_TextAppearance_AppCompat_Large 0x0
int style Base_TextAppearance_AppCompat_Large_Inverse 0x0
int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x0
int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x0
int style Base_TextAppearance_AppCompat_Medium 0x0
int style Base_TextAppearance_AppCompat_Medium_Inverse 0x0
int style Base_TextAppearance_AppCompat_Menu 0x0
int style Base_TextAppearance_AppCompat_SearchResult 0x0
int style Base_TextAppearance_AppCompat_SearchResult_Subtitle 0x0
int style Base_TextAppearance_AppCompat_SearchResult_Title 0x0
int style Base_TextAppearance_AppCompat_Small 0x0
int style Base_TextAppearance_AppCompat_Small_Inverse 0x0
int style Base_TextAppearance_AppCompat_Subhead 0x0
int style Base_TextAppearance_AppCompat_Subhead_Inverse 0x0
int style Base_TextAppearance_AppCompat_Title 0x0
int style Base_TextAppearance_AppCompat_Title_Inverse 0x0
int style Base_TextAppearance_AppCompat_Tooltip 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionBar_Menu 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x0
int style Base_TextAppearance_AppCompat_Widget_ActionMode_Title 0x0
int style Base_TextAppearance_AppCompat_Widget_Button 0x0
int style Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored 0x0
int style Base_TextAppearance_AppCompat_Widget_Button_Colored 0x0
int style Base_TextAppearance_AppCompat_Widget_Button_Inverse 0x0
int style Base_TextAppearance_AppCompat_Widget_DropDownItem 0x0
int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Header 0x0
int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Large 0x0
int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Small 0x0
int style Base_TextAppearance_AppCompat_Widget_Switch 0x0
int style Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x0
int style Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x0
int style Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x0
int style Base_TextAppearance_Widget_AppCompat_Toolbar_Title 0x0
int style Base_ThemeOverlay_AppCompat 0x0
int style Base_ThemeOverlay_AppCompat_ActionBar 0x0
int style Base_ThemeOverlay_AppCompat_Dark 0x0
int style Base_ThemeOverlay_AppCompat_Dark_ActionBar 0x0
int style Base_ThemeOverlay_AppCompat_Dialog 0x0
int style Base_ThemeOverlay_AppCompat_Dialog_Alert 0x0
int style Base_ThemeOverlay_AppCompat_Light 0x0
int style Base_Theme_AppCompat 0x0
int style Base_Theme_AppCompat_CompactMenu 0x0
int style Base_Theme_AppCompat_Dialog 0x0
int style Base_Theme_AppCompat_DialogWhenLarge 0x0
int style Base_Theme_AppCompat_Dialog_Alert 0x0
int style Base_Theme_AppCompat_Dialog_FixedSize 0x0
int style Base_Theme_AppCompat_Dialog_MinWidth 0x0
int style Base_Theme_AppCompat_Light 0x0
int style Base_Theme_AppCompat_Light_DarkActionBar 0x0
int style Base_Theme_AppCompat_Light_Dialog 0x0
int style Base_Theme_AppCompat_Light_DialogWhenLarge 0x0
int style Base_Theme_AppCompat_Light_Dialog_Alert 0x0
int style Base_Theme_AppCompat_Light_Dialog_FixedSize 0x0
int style Base_Theme_AppCompat_Light_Dialog_MinWidth 0x0
int style Base_V21_ThemeOverlay_AppCompat_Dialog 0x0
int style Base_V21_Theme_AppCompat 0x0
int style Base_V21_Theme_AppCompat_Dialog 0x0
int style Base_V21_Theme_AppCompat_Light 0x0
int style Base_V21_Theme_AppCompat_Light_Dialog 0x0
int style Base_V22_Theme_AppCompat 0x0
int style Base_V22_Theme_AppCompat_Light 0x0
int style Base_V23_Theme_AppCompat 0x0
int style Base_V23_Theme_AppCompat_Light 0x0
int style Base_V26_Theme_AppCompat 0x0
int style Base_V26_Theme_AppCompat_Light 0x0
int style Base_V26_Widget_AppCompat_Toolbar 0x0
int style Base_V28_Theme_AppCompat 0x0
int style Base_V28_Theme_AppCompat_Light 0x0
int style Base_V7_ThemeOverlay_AppCompat_Dialog 0x0
int style Base_V7_Theme_AppCompat 0x0
int style Base_V7_Theme_AppCompat_Dialog 0x0
int style Base_V7_Theme_AppCompat_Light 0x0
int style Base_V7_Theme_AppCompat_Light_Dialog 0x0
int style Base_V7_Widget_AppCompat_AutoCompleteTextView 0x0
int style Base_V7_Widget_AppCompat_EditText 0x0
int style Base_V7_Widget_AppCompat_Toolbar 0x0
int style Base_Widget_AppCompat_ActionBar 0x0
int style Base_Widget_AppCompat_ActionBar_Solid 0x0
int style Base_Widget_AppCompat_ActionBar_TabBar 0x0
int style Base_Widget_AppCompat_ActionBar_TabText 0x0
int style Base_Widget_AppCompat_ActionBar_TabView 0x0
int style Base_Widget_AppCompat_ActionButton 0x0
int style Base_Widget_AppCompat_ActionButton_CloseMode 0x0
int style Base_Widget_AppCompat_ActionButton_Overflow 0x0
int style Base_Widget_AppCompat_ActionMode 0x0
int style Base_Widget_AppCompat_ActivityChooserView 0x0
int style Base_Widget_AppCompat_AutoCompleteTextView 0x0
int style Base_Widget_AppCompat_Button 0x0
int style Base_Widget_AppCompat_ButtonBar 0x0
int style Base_Widget_AppCompat_ButtonBar_AlertDialog 0x0
int style Base_Widget_AppCompat_Button_Borderless 0x0
int style Base_Widget_AppCompat_Button_Borderless_Colored 0x0
int style Base_Widget_AppCompat_Button_ButtonBar_AlertDialog 0x0
int style Base_Widget_AppCompat_Button_Colored 0x0
int style Base_Widget_AppCompat_Button_Small 0x0
int style Base_Widget_AppCompat_CompoundButton_CheckBox 0x0
int style Base_Widget_AppCompat_CompoundButton_RadioButton 0x0
int style Base_Widget_AppCompat_CompoundButton_Switch 0x0
int style Base_Widget_AppCompat_DrawerArrowToggle 0x0
int style Base_Widget_AppCompat_DrawerArrowToggle_Common 0x0
int style Base_Widget_AppCompat_DropDownItem_Spinner 0x0
int style Base_Widget_AppCompat_EditText 0x0
int style Base_Widget_AppCompat_ImageButton 0x0
int style Base_Widget_AppCompat_Light_ActionBar 0x0
int style Base_Widget_AppCompat_Light_ActionBar_Solid 0x0
int style Base_Widget_AppCompat_Light_ActionBar_TabBar 0x0
int style Base_Widget_AppCompat_Light_ActionBar_TabText 0x0
int style Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x0
int style Base_Widget_AppCompat_Light_ActionBar_TabView 0x0
int style Base_Widget_AppCompat_Light_PopupMenu 0x0
int style Base_Widget_AppCompat_Light_PopupMenu_Overflow 0x0
int style Base_Widget_AppCompat_ListMenuView 0x0
int style Base_Widget_AppCompat_ListPopupWindow 0x0
int style Base_Widget_AppCompat_ListView 0x0
int style Base_Widget_AppCompat_ListView_DropDown 0x0
int style Base_Widget_AppCompat_ListView_Menu 0x0
int style Base_Widget_AppCompat_PopupMenu 0x0
int style Base_Widget_AppCompat_PopupMenu_Overflow 0x0
int style Base_Widget_AppCompat_PopupWindow 0x0
int style Base_Widget_AppCompat_ProgressBar 0x0
int style Base_Widget_AppCompat_ProgressBar_Horizontal 0x0
int style Base_Widget_AppCompat_RatingBar 0x0
int style Base_Widget_AppCompat_RatingBar_Indicator 0x0
int style Base_Widget_AppCompat_RatingBar_Small 0x0
int style Base_Widget_AppCompat_SearchView 0x0
int style Base_Widget_AppCompat_SearchView_ActionBar 0x0
int style Base_Widget_AppCompat_SeekBar 0x0
int style Base_Widget_AppCompat_SeekBar_Discrete 0x0
int style Base_Widget_AppCompat_Spinner 0x0
int style Base_Widget_AppCompat_Spinner_Underlined 0x0
int style Base_Widget_AppCompat_TextView_SpinnerItem 0x0
int style Base_Widget_AppCompat_Toolbar 0x0
int style Base_Widget_AppCompat_Toolbar_Button_Navigation 0x0
int style Platform_AppCompat 0x0
int style Platform_AppCompat_Light 0x0
int style Platform_ThemeOverlay_AppCompat 0x0
int style Platform_ThemeOverlay_AppCompat_Dark 0x0
int style Platform_ThemeOverlay_AppCompat_Light 0x0
int style Platform_V21_AppCompat 0x0
int style Platform_V21_AppCompat_Light 0x0
int style Platform_V25_AppCompat 0x0
int style Platform_V25_AppCompat_Light 0x0
int style Platform_Widget_AppCompat_Spinner 0x0
int style RtlOverlay_DialogWindowTitle_AppCompat 0x0
int style RtlOverlay_Widget_AppCompat_ActionBar_TitleItem 0x0
int style RtlOverlay_Widget_AppCompat_DialogTitle_Icon 0x0
int style RtlOverlay_Widget_AppCompat_PopupMenuItem 0x0
int style RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup 0x0
int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut 0x0
int style RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow 0x0
int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Text 0x0
int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Title 0x0
int style RtlOverlay_Widget_AppCompat_SearchView_MagIcon 0x0
int style RtlOverlay_Widget_AppCompat_Search_DropDown 0x0
int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 0x0
int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 0x0
int style RtlOverlay_Widget_AppCompat_Search_DropDown_Query 0x0
int style RtlOverlay_Widget_AppCompat_Search_DropDown_Text 0x0
int style RtlUnderlay_Widget_AppCompat_ActionButton 0x0
int style RtlUnderlay_Widget_AppCompat_ActionButton_Overflow 0x0
int style TextAppearance_AppCompat 0x0
int style TextAppearance_AppCompat_Body1 0x0
int style TextAppearance_AppCompat_Body2 0x0
int style TextAppearance_AppCompat_Button 0x0
int style TextAppearance_AppCompat_Caption 0x0
int style TextAppearance_AppCompat_Display1 0x0
int style TextAppearance_AppCompat_Display2 0x0
int style TextAppearance_AppCompat_Display3 0x0
int style TextAppearance_AppCompat_Display4 0x0
int style TextAppearance_AppCompat_Headline 0x0
int style TextAppearance_AppCompat_Inverse 0x0
int style TextAppearance_AppCompat_Large 0x0
int style TextAppearance_AppCompat_Large_Inverse 0x0
int style TextAppearance_AppCompat_Light_SearchResult_Subtitle 0x0
int style TextAppearance_AppCompat_Light_SearchResult_Title 0x0
int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x0
int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x0
int style TextAppearance_AppCompat_Medium 0x0
int style TextAppearance_AppCompat_Medium_Inverse 0x0
int style TextAppearance_AppCompat_Menu 0x0
int style TextAppearance_AppCompat_SearchResult_Subtitle 0x0
int style TextAppearance_AppCompat_SearchResult_Title 0x0
int style TextAppearance_AppCompat_Small 0x0
int style TextAppearance_AppCompat_Small_Inverse 0x0
int style TextAppearance_AppCompat_Subhead 0x0
int style TextAppearance_AppCompat_Subhead_Inverse 0x0
int style TextAppearance_AppCompat_Title 0x0
int style TextAppearance_AppCompat_Title_Inverse 0x0
int style TextAppearance_AppCompat_Tooltip 0x0
int style TextAppearance_AppCompat_Widget_ActionBar_Menu 0x0
int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x0
int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x0
int style TextAppearance_AppCompat_Widget_ActionBar_Title 0x0
int style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x0
int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x0
int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse 0x0
int style TextAppearance_AppCompat_Widget_ActionMode_Title 0x0
int style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse 0x0
int style TextAppearance_AppCompat_Widget_Button 0x0
int style TextAppearance_AppCompat_Widget_Button_Borderless_Colored 0x0
int style TextAppearance_AppCompat_Widget_Button_Colored 0x0
int style TextAppearance_AppCompat_Widget_Button_Inverse 0x0
int style TextAppearance_AppCompat_Widget_DropDownItem 0x0
int style TextAppearance_AppCompat_Widget_PopupMenu_Header 0x0
int style TextAppearance_AppCompat_Widget_PopupMenu_Large 0x0
int style TextAppearance_AppCompat_Widget_PopupMenu_Small 0x0
int style TextAppearance_AppCompat_Widget_Switch 0x0
int style TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x0
int style TextAppearance_Compat_Notification 0x0
int style TextAppearance_Compat_Notification_Info 0x0
int style TextAppearance_Compat_Notification_Line2 0x0
int style TextAppearance_Compat_Notification_Time 0x0
int style TextAppearance_Compat_Notification_Title 0x0
int style TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x0
int style TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x0
int style TextAppearance_Widget_AppCompat_Toolbar_Title 0x0
int style ThemeOverlay_AppCompat 0x0
int style ThemeOverlay_AppCompat_ActionBar 0x0
int style ThemeOverlay_AppCompat_Dark 0x0
int style ThemeOverlay_AppCompat_Dark_ActionBar 0x0
int style ThemeOverlay_AppCompat_Dialog 0x0
int style ThemeOverlay_AppCompat_Dialog_Alert 0x0
int style ThemeOverlay_AppCompat_Light 0x0
int style Theme_AppCompat 0x0
int style Theme_AppCompat_CompactMenu 0x0
int style Theme_AppCompat_DayNight 0x0
int style Theme_AppCompat_DayNight_DarkActionBar 0x0
int style Theme_AppCompat_DayNight_Dialog 0x0
int style Theme_AppCompat_DayNight_DialogWhenLarge 0x0
int style Theme_AppCompat_DayNight_Dialog_Alert 0x0
int style Theme_AppCompat_DayNight_Dialog_MinWidth 0x0
int style Theme_AppCompat_DayNight_NoActionBar 0x0
int style Theme_AppCompat_Dialog 0x0
int style Theme_AppCompat_DialogWhenLarge 0x0
int style Theme_AppCompat_Dialog_Alert 0x0
int style Theme_AppCompat_Dialog_MinWidth 0x0
int style Theme_AppCompat_Light 0x0
int style Theme_AppCompat_Light_DarkActionBar 0x0
int style Theme_AppCompat_Light_Dialog 0x0
int style Theme_AppCompat_Light_DialogWhenLarge 0x0
int style Theme_AppCompat_Light_Dialog_Alert 0x0
int style Theme_AppCompat_Light_Dialog_MinWidth 0x0
int style Theme_AppCompat_Light_NoActionBar 0x0
int style Theme_AppCompat_NoActionBar 0x0
int style Widget_AppCompat_ActionBar 0x0
int style Widget_AppCompat_ActionBar_Solid 0x0
int style Widget_AppCompat_ActionBar_TabBar 0x0
int style Widget_AppCompat_ActionBar_TabText 0x0
int style Widget_AppCompat_ActionBar_TabView 0x0
int style Widget_AppCompat_ActionButton 0x0
int style Widget_AppCompat_ActionButton_CloseMode 0x0
int style Widget_AppCompat_ActionButton_Overflow 0x0
int style Widget_AppCompat_ActionMode 0x0
int style Widget_AppCompat_ActivityChooserView 0x0
int style Widget_AppCompat_AutoCompleteTextView 0x0
int style Widget_AppCompat_Button 0x0
int style Widget_AppCompat_ButtonBar 0x0
int style Widget_AppCompat_ButtonBar_AlertDialog 0x0
int style Widget_AppCompat_Button_Borderless 0x0
int style Widget_AppCompat_Button_Borderless_Colored 0x0
int style Widget_AppCompat_Button_ButtonBar_AlertDialog 0x0
int style Widget_AppCompat_Button_Colored 0x0
int style Widget_AppCompat_Button_Small 0x0
int style Widget_AppCompat_CompoundButton_CheckBox 0x0
int style Widget_AppCompat_CompoundButton_RadioButton 0x0
int style Widget_AppCompat_CompoundButton_Switch 0x0
int style Widget_AppCompat_DrawerArrowToggle 0x0
int style Widget_AppCompat_DropDownItem_Spinner 0x0
int style Widget_AppCompat_EditText 0x0
int style Widget_AppCompat_ImageButton 0x0
int style Widget_AppCompat_Light_ActionBar 0x0
int style Widget_AppCompat_Light_ActionBar_Solid 0x0
int style Widget_AppCompat_Light_ActionBar_Solid_Inverse 0x0
int style Widget_AppCompat_Light_ActionBar_TabBar 0x0
int style Widget_AppCompat_Light_ActionBar_TabBar_Inverse 0x0
int style Widget_AppCompat_Light_ActionBar_TabText 0x0
int style Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x0
int style Widget_AppCompat_Light_ActionBar_TabView 0x0
int style Widget_AppCompat_Light_ActionBar_TabView_Inverse 0x0
int style Widget_AppCompat_Light_ActionButton 0x0
int style Widget_AppCompat_Light_ActionButton_CloseMode 0x0
int style Widget_AppCompat_Light_ActionButton_Overflow 0x0
int style Widget_AppCompat_Light_ActionMode_Inverse 0x0
int style Widget_AppCompat_Light_ActivityChooserView 0x0
int style Widget_AppCompat_Light_AutoCompleteTextView 0x0
int style Widget_AppCompat_Light_DropDownItem_Spinner 0x0
int style Widget_AppCompat_Light_ListPopupWindow 0x0
int style Widget_AppCompat_Light_ListView_DropDown 0x0
int style Widget_AppCompat_Light_PopupMenu 0x0
int style Widget_AppCompat_Light_PopupMenu_Overflow 0x0
int style Widget_AppCompat_Light_SearchView 0x0
int style Widget_AppCompat_Light_Spinner_DropDown_ActionBar 0x0
int style Widget_AppCompat_ListMenuView 0x0
int style Widget_AppCompat_ListPopupWindow 0x0
int style Widget_AppCompat_ListView 0x0
int style Widget_AppCompat_ListView_DropDown 0x0
int style Widget_AppCompat_ListView_Menu 0x0
int style Widget_AppCompat_PopupMenu 0x0
int style Widget_AppCompat_PopupMenu_Overflow 0x0
int style Widget_AppCompat_PopupWindow 0x0
int style Widget_AppCompat_ProgressBar 0x0
int style Widget_AppCompat_ProgressBar_Horizontal 0x0
int style Widget_AppCompat_RatingBar 0x0
int style Widget_AppCompat_RatingBar_Indicator 0x0
int style Widget_AppCompat_RatingBar_Small 0x0
int style Widget_AppCompat_SearchView 0x0
int style Widget_AppCompat_SearchView_ActionBar 0x0
int style Widget_AppCompat_SeekBar 0x0
int style Widget_AppCompat_SeekBar_Discrete 0x0
int style Widget_AppCompat_Spinner 0x0
int style Widget_AppCompat_Spinner_DropDown 0x0
int style Widget_AppCompat_Spinner_DropDown_ActionBar 0x0
int style Widget_AppCompat_Spinner_Underlined 0x0
int style Widget_AppCompat_TextView_SpinnerItem 0x0
int style Widget_AppCompat_Toolbar 0x0
int style Widget_AppCompat_Toolbar_Button_Navigation 0x0
int style Widget_Compat_NotificationActionContainer 0x0
int style Widget_Compat_NotificationActionText 0x0
int style Widget_Support_CoordinatorLayout 0x0
int[] styleable ActionBar { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable ActionBar_background 0
int styleable ActionBar_backgroundSplit 1
int styleable ActionBar_backgroundStacked 2
int styleable ActionBar_contentInsetEnd 3
int styleable ActionBar_contentInsetEndWithActions 4
int styleable ActionBar_contentInsetLeft 5
int styleable ActionBar_contentInsetRight 6
int styleable ActionBar_contentInsetStart 7
int styleable ActionBar_contentInsetStartWithNavigation 8
int styleable ActionBar_customNavigationLayout 9
int styleable ActionBar_displayOptions 10
int styleable ActionBar_divider 11
int styleable ActionBar_elevation 12
int styleable ActionBar_height 13
int styleable ActionBar_hideOnContentScroll 14
int styleable ActionBar_homeAsUpIndicator 15
int styleable ActionBar_homeLayout 16
int styleable ActionBar_icon 17
int styleable ActionBar_indeterminateProgressStyle 18
int styleable ActionBar_itemPadding 19
int styleable ActionBar_logo 20
int styleable ActionBar_navigationMode 21
int styleable ActionBar_popupTheme 22
int styleable ActionBar_progressBarPadding 23
int styleable ActionBar_progressBarStyle 24
int styleable ActionBar_subtitle 25
int styleable ActionBar_subtitleTextStyle 26
int styleable ActionBar_title 27
int styleable ActionBar_titleTextStyle 28
int[] styleable ActionBarLayout { 0x10100b3 }
int styleable ActionBarLayout_android_layout_gravity 0
int[] styleable ActionMenuItemView { 0x101013f }
int styleable ActionMenuItemView_android_minWidth 0
int[] styleable ActionMenuView { }
int[] styleable ActionMode { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable ActionMode_background 0
int styleable ActionMode_backgroundSplit 1
int styleable ActionMode_closeItemLayout 2
int styleable ActionMode_height 3
int styleable ActionMode_subtitleTextStyle 4
int styleable ActionMode_titleTextStyle 5
int[] styleable ActivityChooserView { 0x0, 0x0 }
int styleable ActivityChooserView_expandActivityOverflowButtonDrawable 0
int styleable ActivityChooserView_initialActivityCount 1
int[] styleable AlertDialog { 0x10100f2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable AlertDialog_android_layout 0
int styleable AlertDialog_buttonIconDimen 1
int styleable AlertDialog_buttonPanelSideLayout 2
int styleable AlertDialog_listItemLayout 3
int styleable AlertDialog_listLayout 4
int styleable AlertDialog_multiChoiceItemLayout 5
int styleable AlertDialog_showTitle 6
int styleable AlertDialog_singleChoiceItemLayout 7
int[] styleable AnimatedStateListDrawableCompat { 0x1010196, 0x101011c, 0x101030c, 0x101030d, 0x1010195, 0x1010194 }
int styleable AnimatedStateListDrawableCompat_android_constantSize 0
int styleable AnimatedStateListDrawableCompat_android_dither 1
int styleable AnimatedStateListDrawableCompat_android_enterFadeDuration 2
int styleable AnimatedStateListDrawableCompat_android_exitFadeDuration 3
int styleable AnimatedStateListDrawableCompat_android_variablePadding 4
int styleable AnimatedStateListDrawableCompat_android_visible 5
int[] styleable AnimatedStateListDrawableItem { 0x1010199, 0x10100d0 }
int styleable AnimatedStateListDrawableItem_android_drawable 0
int styleable AnimatedStateListDrawableItem_android_id 1
int[] styleable AnimatedStateListDrawableTransition { 0x1010199, 0x101044a, 0x101044b, 0x1010449 }
int styleable AnimatedStateListDrawableTransition_android_drawable 0
int styleable AnimatedStateListDrawableTransition_android_fromId 1
int styleable AnimatedStateListDrawableTransition_android_reversible 2
int styleable AnimatedStateListDrawableTransition_android_toId 3
int[] styleable AppCompatImageView { 0x1010119, 0x0, 0x0, 0x0 }
int styleable AppCompatImageView_android_src 0
int styleable AppCompatImageView_srcCompat 1
int styleable AppCompatImageView_tint 2
int styleable AppCompatImageView_tintMode 3
int[] styleable AppCompatSeekBar { 0x1010142, 0x0, 0x0, 0x0 }
int styleable AppCompatSeekBar_android_thumb 0
int styleable AppCompatSeekBar_tickMark 1
int styleable AppCompatSeekBar_tickMarkTint 2
int styleable AppCompatSeekBar_tickMarkTintMode 3
int[] styleable AppCompatTextHelper { 0x101016e, 0x1010393, 0x101016f, 0x1010170, 0x1010392, 0x101016d, 0x1010034 }
int styleable AppCompatTextHelper_android_drawableBottom 0
int styleable AppCompatTextHelper_android_drawableEnd 1
int styleable AppCompatTextHelper_android_drawableLeft 2
int styleable AppCompatTextHelper_android_drawableRight 3
int styleable AppCompatTextHelper_android_drawableStart 4
int styleable AppCompatTextHelper_android_drawableTop 5
int styleable AppCompatTextHelper_android_textAppearance 6
int[] styleable AppCompatTextView { 0x1010034, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable AppCompatTextView_android_textAppearance 0
int styleable AppCompatTextView_autoSizeMaxTextSize 1
int styleable AppCompatTextView_autoSizeMinTextSize 2
int styleable AppCompatTextView_autoSizePresetSizes 3
int styleable AppCompatTextView_autoSizeStepGranularity 4
int styleable AppCompatTextView_autoSizeTextType 5
int styleable AppCompatTextView_firstBaselineToTopHeight 6
int styleable AppCompatTextView_fontFamily 7
int styleable AppCompatTextView_lastBaselineToBottomHeight 8
int styleable AppCompatTextView_lineHeight 9
int styleable AppCompatTextView_textAllCaps 10
int[] styleable AppCompatTheme { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10100ae, 0x1010057, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable AppCompatTheme_actionBarDivider 0
int styleable AppCompatTheme_actionBarItemBackground 1
int styleable AppCompatTheme_actionBarPopupTheme 2
int styleable AppCompatTheme_actionBarSize 3
int styleable AppCompatTheme_actionBarSplitStyle 4
int styleable AppCompatTheme_actionBarStyle 5
int styleable AppCompatTheme_actionBarTabBarStyle 6
int styleable AppCompatTheme_actionBarTabStyle 7
int styleable AppCompatTheme_actionBarTabTextStyle 8
int styleable AppCompatTheme_actionBarTheme 9
int styleable AppCompatTheme_actionBarWidgetTheme 10
int styleable AppCompatTheme_actionButtonStyle 11
int styleable AppCompatTheme_actionDropDownStyle 12
int styleable AppCompatTheme_actionMenuTextAppearance 13
int styleable AppCompatTheme_actionMenuTextColor 14
int styleable AppCompatTheme_actionModeBackground 15
int styleable AppCompatTheme_actionModeCloseButtonStyle 16
int styleable AppCompatTheme_actionModeCloseDrawable 17
int styleable AppCompatTheme_actionModeCopyDrawable 18
int styleable AppCompatTheme_actionModeCutDrawable 19
int styleable AppCompatTheme_actionModeFindDrawable 20
int styleable AppCompatTheme_actionModePasteDrawable 21
int styleable AppCompatTheme_actionModePopupWindowStyle 22
int styleable AppCompatTheme_actionModeSelectAllDrawable 23
int styleable AppCompatTheme_actionModeShareDrawable 24
int styleable AppCompatTheme_actionModeSplitBackground 25
int styleable AppCompatTheme_actionModeStyle 26
int styleable AppCompatTheme_actionModeWebSearchDrawable 27
int styleable AppCompatTheme_actionOverflowButtonStyle 28
int styleable AppCompatTheme_actionOverflowMenuStyle 29
int styleable AppCompatTheme_activityChooserViewStyle 30
int styleable AppCompatTheme_alertDialogButtonGroupStyle 31
int styleable AppCompatTheme_alertDialogCenterButtons 32
int styleable AppCompatTheme_alertDialogStyle 33
int styleable AppCompatTheme_alertDialogTheme 34
int styleable AppCompatTheme_android_windowAnimationStyle 35
int styleable AppCompatTheme_android_windowIsFloating 36
int styleable AppCompatTheme_autoCompleteTextViewStyle 37
int styleable AppCompatTheme_borderlessButtonStyle 38
int styleable AppCompatTheme_buttonBarButtonStyle 39
int styleable AppCompatTheme_buttonBarNegativeButtonStyle 40
int styleable AppCompatTheme_buttonBarNeutralButtonStyle 41
int styleable AppCompatTheme_buttonBarPositiveButtonStyle 42
int styleable AppCompatTheme_buttonBarStyle 43
int styleable AppCompatTheme_buttonStyle 44
int styleable AppCompatTheme_buttonStyleSmall 45
int styleable AppCompatTheme_checkboxStyle 46
int styleable AppCompatTheme_checkedTextViewStyle 47
int styleable AppCompatTheme_colorAccent 48
int styleable AppCompatTheme_colorBackgroundFloating 49
int styleable AppCompatTheme_colorButtonNormal 50
int styleable AppCompatTheme_colorControlActivated 51
int styleable AppCompatTheme_colorControlHighlight 52
int styleable AppCompatTheme_colorControlNormal 53
int styleable AppCompatTheme_colorError 54
int styleable AppCompatTheme_colorPrimary 55
int styleable AppCompatTheme_colorPrimaryDark 56
int styleable AppCompatTheme_colorSwitchThumbNormal 57
int styleable AppCompatTheme_controlBackground 58
int styleable AppCompatTheme_dialogCornerRadius 59
int styleable AppCompatTheme_dialogPreferredPadding 60
int styleable AppCompatTheme_dialogTheme 61
int styleable AppCompatTheme_dividerHorizontal 62
int styleable AppCompatTheme_dividerVertical 63
int styleable AppCompatTheme_dropDownListViewStyle 64
int styleable AppCompatTheme_dropdownListPreferredItemHeight 65
int styleable AppCompatTheme_editTextBackground 66
int styleable AppCompatTheme_editTextColor 67
int styleable AppCompatTheme_editTextStyle 68
int styleable AppCompatTheme_homeAsUpIndicator 69
int styleable AppCompatTheme_imageButtonStyle 70
int styleable AppCompatTheme_listChoiceBackgroundIndicator 71
int styleable AppCompatTheme_listDividerAlertDialog 72
int styleable AppCompatTheme_listMenuViewStyle 73
int styleable AppCompatTheme_listPopupWindowStyle 74
int styleable AppCompatTheme_listPreferredItemHeight 75
int styleable AppCompatTheme_listPreferredItemHeightLarge 76
int styleable AppCompatTheme_listPreferredItemHeightSmall 77
int styleable AppCompatTheme_listPreferredItemPaddingLeft 78
int styleable AppCompatTheme_listPreferredItemPaddingRight 79
int styleable AppCompatTheme_panelBackground 80
int styleable AppCompatTheme_panelMenuListTheme 81
int styleable AppCompatTheme_panelMenuListWidth 82
int styleable AppCompatTheme_popupMenuStyle 83
int styleable AppCompatTheme_popupWindowStyle 84
int styleable AppCompatTheme_radioButtonStyle 85
int styleable AppCompatTheme_ratingBarStyle 86
int styleable AppCompatTheme_ratingBarStyleIndicator 87
int styleable AppCompatTheme_ratingBarStyleSmall 88
int styleable AppCompatTheme_searchViewStyle 89
int styleable AppCompatTheme_seekBarStyle 90
int styleable AppCompatTheme_selectableItemBackground 91
int styleable AppCompatTheme_selectableItemBackgroundBorderless 92
int styleable AppCompatTheme_spinnerDropDownItemStyle 93
int styleable AppCompatTheme_spinnerStyle 94
int styleable AppCompatTheme_switchStyle 95
int styleable AppCompatTheme_textAppearanceLargePopupMenu 96
int styleable AppCompatTheme_textAppearanceListItem 97
int styleable AppCompatTheme_textAppearanceListItemSecondary 98
int styleable AppCompatTheme_textAppearanceListItemSmall 99
int styleable AppCompatTheme_textAppearancePopupMenuHeader 100
int styleable AppCompatTheme_textAppearanceSearchResultSubtitle 101
int styleable AppCompatTheme_textAppearanceSearchResultTitle 102
int styleable AppCompatTheme_textAppearanceSmallPopupMenu 103
int styleable AppCompatTheme_textColorAlertDialogListItem 104
int styleable AppCompatTheme_textColorSearchUrl 105
int styleable AppCompatTheme_toolbarNavigationButtonStyle 106
int styleable AppCompatTheme_toolbarStyle 107
int styleable AppCompatTheme_tooltipForegroundColor 108
int styleable AppCompatTheme_tooltipFrameBackground 109
int styleable AppCompatTheme_viewInflaterClass 110
int styleable AppCompatTheme_windowActionBar 111
int styleable AppCompatTheme_windowActionBarOverlay 112
int styleable AppCompatTheme_windowActionModeOverlay 113
int styleable AppCompatTheme_windowFixedHeightMajor 114
int styleable AppCompatTheme_windowFixedHeightMinor 115
int styleable AppCompatTheme_windowFixedWidthMajor 116
int styleable AppCompatTheme_windowFixedWidthMinor 117
int styleable AppCompatTheme_windowMinWidthMajor 118
int styleable AppCompatTheme_windowMinWidthMinor 119
int styleable AppCompatTheme_windowNoTitle 120
int[] styleable ButtonBarLayout { 0x0 }
int styleable ButtonBarLayout_allowStacking 0
int[] styleable ColorStateListItem { 0x0, 0x101031f, 0x10101a5 }
int styleable ColorStateListItem_alpha 0
int styleable ColorStateListItem_android_alpha 1
int styleable ColorStateListItem_android_color 2
int[] styleable CompoundButton { 0x1010107, 0x0, 0x0 }
int styleable CompoundButton_android_button 0
int styleable CompoundButton_buttonTint 1
int styleable CompoundButton_buttonTintMode 2
int[] styleable CoordinatorLayout { 0x0, 0x0 }
int styleable CoordinatorLayout_keylines 0
int styleable CoordinatorLayout_statusBarBackground 1
int[] styleable CoordinatorLayout_Layout { 0x10100b3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable CoordinatorLayout_Layout_android_layout_gravity 0
int styleable CoordinatorLayout_Layout_layout_anchor 1
int styleable CoordinatorLayout_Layout_layout_anchorGravity 2
int styleable CoordinatorLayout_Layout_layout_behavior 3
int styleable CoordinatorLayout_Layout_layout_dodgeInsetEdges 4
int styleable CoordinatorLayout_Layout_layout_insetEdge 5
int styleable CoordinatorLayout_Layout_layout_keyline 6
int[] styleable DrawerArrowToggle { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable DrawerArrowToggle_arrowHeadLength 0
int styleable DrawerArrowToggle_arrowShaftLength 1
int styleable DrawerArrowToggle_barLength 2
int styleable DrawerArrowToggle_color 3
int styleable DrawerArrowToggle_drawableSize 4
int styleable DrawerArrowToggle_gapBetweenBars 5
int styleable DrawerArrowToggle_spinBars 6
int styleable DrawerArrowToggle_thickness 7
int[] styleable FontFamily { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable FontFamily_fontProviderAuthority 0
int styleable FontFamily_fontProviderCerts 1
int styleable FontFamily_fontProviderFetchStrategy 2
int styleable FontFamily_fontProviderFetchTimeout 3
int styleable FontFamily_fontProviderPackage 4
int styleable FontFamily_fontProviderQuery 5
int[] styleable FontFamilyFont { 0x1010532, 0x101053f, 0x1010570, 0x1010533, 0x101056f, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable FontFamilyFont_android_font 0
int styleable FontFamilyFont_android_fontStyle 1
int styleable FontFamilyFont_android_fontVariationSettings 2
int styleable FontFamilyFont_android_fontWeight 3
int styleable FontFamilyFont_android_ttcIndex 4
int styleable FontFamilyFont_font 5
int styleable FontFamilyFont_fontStyle 6
int styleable FontFamilyFont_fontVariationSettings 7
int styleable FontFamilyFont_fontWeight 8
int styleable FontFamilyFont_ttcIndex 9
int[] styleable GradientColor { 0x101020b, 0x10101a2, 0x10101a3, 0x101019e, 0x1010512, 0x1010513, 0x10101a4, 0x101019d, 0x1010510, 0x1010511, 0x1010201, 0x10101a1 }
int styleable GradientColor_android_centerColor 0
int styleable GradientColor_android_centerX 1
int styleable GradientColor_android_centerY 2
int styleable GradientColor_android_endColor 3
int styleable GradientColor_android_endX 4
int styleable GradientColor_android_endY 5
int styleable GradientColor_android_gradientRadius 6
int styleable GradientColor_android_startColor 7
int styleable GradientColor_android_startX 8
int styleable GradientColor_android_startY 9
int styleable GradientColor_android_tileMode 10
int styleable GradientColor_android_type 11
int[] styleable GradientColorItem { 0x10101a5, 0x1010514 }
int styleable GradientColorItem_android_color 0
int styleable GradientColorItem_android_offset 1
int[] styleable LinearLayoutCompat { 0x1010126, 0x1010127, 0x10100af, 0x10100c4, 0x1010128, 0x0, 0x0, 0x0, 0x0 }
int styleable LinearLayoutCompat_android_baselineAligned 0
int styleable LinearLayoutCompat_android_baselineAlignedChildIndex 1
int styleable LinearLayoutCompat_android_gravity 2
int styleable LinearLayoutCompat_android_orientation 3
int styleable LinearLayoutCompat_android_weightSum 4
int styleable LinearLayoutCompat_divider 5
int styleable LinearLayoutCompat_dividerPadding 6
int styleable LinearLayoutCompat_measureWithLargestChild 7
int styleable LinearLayoutCompat_showDividers 8
int[] styleable LinearLayoutCompat_Layout { 0x10100b3, 0x10100f5, 0x1010181, 0x10100f4 }
int styleable LinearLayoutCompat_Layout_android_layout_gravity 0
int styleable LinearLayoutCompat_Layout_android_layout_height 1
int styleable LinearLayoutCompat_Layout_android_layout_weight 2
int styleable LinearLayoutCompat_Layout_android_layout_width 3
int[] styleable ListPopupWindow { 0x10102ac, 0x10102ad }
int styleable ListPopupWindow_android_dropDownHorizontalOffset 0
int styleable ListPopupWindow_android_dropDownVerticalOffset 1
int[] styleable MenuGroup { 0x10101e0, 0x101000e, 0x10100d0, 0x10101de, 0x10101df, 0x1010194 }
int styleable MenuGroup_android_checkableBehavior 0
int styleable MenuGroup_android_enabled 1
int styleable MenuGroup_android_id 2
int styleable MenuGroup_android_menuCategory 3
int styleable MenuGroup_android_orderInCategory 4
int styleable MenuGroup_android_visible 5
int[] styleable MenuItem { 0x0, 0x0, 0x0, 0x0, 0x10101e3, 0x10101e5, 0x1010106, 0x101000e, 0x1010002, 0x10100d0, 0x10101de, 0x10101e4, 0x101026f, 0x10101df, 0x10101e1, 0x10101e2, 0x1010194, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable MenuItem_actionLayout 0
int styleable MenuItem_actionProviderClass 1
int styleable MenuItem_actionViewClass 2
int styleable MenuItem_alphabeticModifiers 3
int styleable MenuItem_android_alphabeticShortcut 4
int styleable MenuItem_android_checkable 5
int styleable MenuItem_android_checked 6
int styleable MenuItem_android_enabled 7
int styleable MenuItem_android_icon 8
int styleable MenuItem_android_id 9
int styleable MenuItem_android_menuCategory 10
int styleable MenuItem_android_numericShortcut 11
int styleable MenuItem_android_onClick 12
int styleable MenuItem_android_orderInCategory 13
int styleable MenuItem_android_title 14
int styleable MenuItem_android_titleCondensed 15
int styleable MenuItem_android_visible 16
int styleable MenuItem_contentDescription 17
int styleable MenuItem_iconTint 18
int styleable MenuItem_iconTintMode 19
int styleable MenuItem_numericModifiers 20
int styleable MenuItem_showAsAction 21
int styleable MenuItem_tooltipText 22
int[] styleable MenuView { 0x101012f, 0x101012d, 0x1010130, 0x1010131, 0x101012c, 0x101012e, 0x10100ae, 0x0, 0x0 }
int styleable MenuView_android_headerBackground 0
int styleable MenuView_android_horizontalDivider 1
int styleable MenuView_android_itemBackground 2
int styleable MenuView_android_itemIconDisabledAlpha 3
int styleable MenuView_android_itemTextAppearance 4
int styleable MenuView_android_verticalDivider 5
int styleable MenuView_android_windowAnimationStyle 6
int styleable MenuView_preserveIconSpacing 7
int styleable MenuView_subMenuArrow 8
int[] styleable PopupWindow { 0x10102c9, 0x1010176, 0x0 }
int styleable PopupWindow_android_popupAnimationStyle 0
int styleable PopupWindow_android_popupBackground 1
int styleable PopupWindow_overlapAnchor 2
int[] styleable PopupWindowBackgroundState { 0x0 }
int styleable PopupWindowBackgroundState_state_above_anchor 0
int[] styleable RecycleListView { 0x0, 0x0 }
int styleable RecycleListView_paddingBottomNoButtons 0
int styleable RecycleListView_paddingTopNoTitle 1
int[] styleable SearchView { 0x10100da, 0x1010264, 0x1010220, 0x101011f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable SearchView_android_focusable 0
int styleable SearchView_android_imeOptions 1
int styleable SearchView_android_inputType 2
int styleable SearchView_android_maxWidth 3
int styleable SearchView_closeIcon 4
int styleable SearchView_commitIcon 5
int styleable SearchView_defaultQueryHint 6
int styleable SearchView_goIcon 7
int styleable SearchView_iconifiedByDefault 8
int styleable SearchView_layout 9
int styleable SearchView_queryBackground 10
int styleable SearchView_queryHint 11
int styleable SearchView_searchHintIcon 12
int styleable SearchView_searchIcon 13
int styleable SearchView_submitBackground 14
int styleable SearchView_suggestionRowLayout 15
int styleable SearchView_voiceIcon 16
int[] styleable Spinner { 0x1010262, 0x10100b2, 0x1010176, 0x101017b, 0x0 }
int styleable Spinner_android_dropDownWidth 0
int styleable Spinner_android_entries 1
int styleable Spinner_android_popupBackground 2
int styleable Spinner_android_prompt 3
int styleable Spinner_popupTheme 4
int[] styleable StateListDrawable { 0x1010196, 0x101011c, 0x101030c, 0x101030d, 0x1010195, 0x1010194 }
int styleable StateListDrawable_android_constantSize 0
int styleable StateListDrawable_android_dither 1
int styleable StateListDrawable_android_enterFadeDuration 2
int styleable StateListDrawable_android_exitFadeDuration 3
int styleable StateListDrawable_android_variablePadding 4
int styleable StateListDrawable_android_visible 5
int[] styleable StateListDrawableItem { 0x1010199 }
int styleable StateListDrawableItem_android_drawable 0
int[] styleable SwitchCompat { 0x1010125, 0x1010124, 0x1010142, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable SwitchCompat_android_textOff 0
int styleable SwitchCompat_android_textOn 1
int styleable SwitchCompat_android_thumb 2
int styleable SwitchCompat_showText 3
int styleable SwitchCompat_splitTrack 4
int styleable SwitchCompat_switchMinWidth 5
int styleable SwitchCompat_switchPadding 6
int styleable SwitchCompat_switchTextAppearance 7
int styleable SwitchCompat_thumbTextPadding 8
int styleable SwitchCompat_thumbTint 9
int styleable SwitchCompat_thumbTintMode 10
int styleable SwitchCompat_track 11
int styleable SwitchCompat_trackTint 12
int styleable SwitchCompat_trackTintMode 13
int[] styleable TextAppearance { 0x10103ac, 0x1010161, 0x1010162, 0x1010163, 0x1010164, 0x1010098, 0x101009a, 0x101009b, 0x1010095, 0x1010097, 0x1010096, 0x0, 0x0 }
int styleable TextAppearance_android_fontFamily 0
int styleable TextAppearance_android_shadowColor 1
int styleable TextAppearance_android_shadowDx 2
int styleable TextAppearance_android_shadowDy 3
int styleable TextAppearance_android_shadowRadius 4
int styleable TextAppearance_android_textColor 5
int styleable TextAppearance_android_textColorHint 6
int styleable TextAppearance_android_textColorLink 7
int styleable TextAppearance_android_textSize 8
int styleable TextAppearance_android_textStyle 9
int styleable TextAppearance_android_typeface 10
int styleable TextAppearance_fontFamily 11
int styleable TextAppearance_textAllCaps 12
int[] styleable Toolbar { 0x10100af, 0x1010140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
int styleable Toolbar_android_gravity 0
int styleable Toolbar_android_minHeight 1
int styleable Toolbar_buttonGravity 2
int styleable Toolbar_collapseContentDescription 3
int styleable Toolbar_collapseIcon 4
int styleable Toolbar_contentInsetEnd 5
int styleable Toolbar_contentInsetEndWithActions 6
int styleable Toolbar_contentInsetLeft 7
int styleable Toolbar_contentInsetRight 8
int styleable Toolbar_contentInsetStart 9
int styleable Toolbar_contentInsetStartWithNavigation 10
int styleable Toolbar_logo 11
int styleable Toolbar_logoDescription 12
int styleable Toolbar_maxButtonHeight 13
int styleable Toolbar_navigationContentDescription 14
int styleable Toolbar_navigationIcon 15
int styleable Toolbar_popupTheme 16
int styleable Toolbar_subtitle 17
int styleable Toolbar_subtitleTextAppearance 18
int styleable Toolbar_subtitleTextColor 19
int styleable Toolbar_title 20
int styleable Toolbar_titleMargin 21
int styleable Toolbar_titleMarginBottom 22
int styleable Toolbar_titleMarginEnd 23
int styleable Toolbar_titleMarginStart 24
int styleable Toolbar_titleMarginTop 25
int styleable Toolbar_titleMargins 26
int styleable Toolbar_titleTextAppearance 27
int styleable Toolbar_titleTextColor 28
int[] styleable View { 0x10100da, 0x1010000, 0x0, 0x0, 0x0 }
int styleable View_android_focusable 0
int styleable View_android_theme 1
int styleable View_paddingEnd 2
int styleable View_paddingStart 3
int styleable View_theme 4
int[] styleable ViewBackgroundHelper { 0x10100d4, 0x0, 0x0 }
int styleable ViewBackgroundHelper_android_background 0
int styleable ViewBackgroundHelper_backgroundTint 1
int styleable ViewBackgroundHelper_backgroundTintMode 2
int[] styleable ViewStubCompat { 0x10100d0, 0x10100f3, 0x10100f2 }
int styleable ViewStubCompat_android_id 0
int styleable ViewStubCompat_android_inflatedId 1
int styleable ViewStubCompat_android_layout 2
include ':oaid_sdk_1.0.25'
include ':zxhcsdk'
include ':app'
rootProject.name = "ZXHCSDKAAR"
\ No newline at end of file
/build
\ No newline at end of file
plugins {
id 'com.android.library'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
api fileTree(include: ['*.aar'], dir: 'libs')
api 'com.android.support:design:28.0.0'
api 'com.android.support:support-v4:28.0.0'
}
\ 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
\ No newline at end of file
package com.ym.zxhcsdk;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.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.ym.zxhcsdk.test", appContext.getPackageName());
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ym.zxhcsdk">
<!-- 必须要有的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" /> <!-- 最好能提供的权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
</manifest>
\ No newline at end of file
package com.ym.zxhcsdk;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
public class AppInstallReceive extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent!=null){
String action = intent.getAction();
if (TextUtils.equals(intent.getAction(),Intent.ACTION_PACKAGE_ADDED)){
String packageName = intent.getData().getSchemeSpecificPart();
if (!TextUtils.isEmpty(packageName)) {
for (int i =0;i<ZXHCConstant.adList.size();i++){
if (packageName.equals(ZXHCConstant.adList.get(i).getPackage_name())){
InstallFinishReport(ZXHCConstant.adList.get(i));
ZXHCConstant.adList.remove(i);
break;
}
}
}
}
if (TextUtils.equals(intent.getAction(),Intent.ACTION_PACKAGE_REMOVED)){
String packageName = intent.getData().getSchemeSpecificPart();
if (!TextUtils.isEmpty(packageName)) {
}
}
if (TextUtils.equals(intent.getAction(),Intent.ACTION_PACKAGE_REPLACED)){
String packageName = intent.getData().getSchemeSpecificPart();
if (!TextUtils.isEmpty(packageName)) {
}
}
// intent.getAction()
}
}
private void InstallFinishReport(HcAdBean adBean) {
if (adBean.getFinishInstallmonitorUrls() != null && adBean.getFinishInstallmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getFinishInstallmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getFinishInstallmonitorUrls().get(i));
}
}
}
}
package com.ym.zxhcsdk;
import android.app.Activity;
import android.content.Context;
import android.content.IntentFilter;
import android.os.Build;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.WebView;
public class AppliContext {
public static Context mAppContext;
private static AppInstallReceive installedReceiver;
public static void init(Activity context) {
if (mAppContext == null) {
mAppContext = context.getApplicationContext();
context.runOnUiThread(new Runnable() {
@Override
public void run() {
ZXHCConstant.app_name = PhoneUtils.getInstance().getAppName(context);
ZXHCConstant.app_package = PhoneUtils.getInstance().getAppPackage();
ZXHCConstant.app_version = PhoneUtils.getInstance().getAppVersionName(context);
ZXHCConstant.device_imei = PhoneUtils.getInstance().getImei(context);
ZXHCConstant.device_adid = PhoneUtils.getInstance().getAndroidID(context);
ZXHCConstant.device_mac = PhoneUtils.getInstance().getMac(context);
ZXHCConstant.device_height = PhoneUtils.getInstance().getScreenHeight(context) + "";
ZXHCConstant.device_width = PhoneUtils.getInstance().getScreenWidth(context) + "";
ZXHCConstant.device_imsi = PhoneUtils.getInstance().getIMSI(context);
ZXHCConstant.device_network = PhoneUtils.getInstance().getNetwork(context);
ZXHCConstant.device_os = "Android";
ZXHCConstant.device_os_version = Build.VERSION.SDK_INT + "";
ZXHCConstant.device_density = PhoneUtils.getInstance().getScreenDensity(context) + "";
ZXHCConstant.device_ppi = PhoneUtils.getInstance().getScreenDpi(context) + "";
ZXHCConstant.screen_size = PhoneUtils.getInstance().getScreenSize(context) + "";
ZXHCConstant.device_ip = PhoneUtils.getInstance().getIPAddress(false) + "";
ZXHCConstant.device_ua = new WebView(context).getSettings().getUserAgentString();
ZXHCConstant.device_type = "0";
ZXHCConstant.is_mobile = "1";
ZXHCConstant.device_model = PhoneUtils.getInstance().getModel();
ZXHCConstant.device_brand = Build.BRAND;
ZXHCConstant.device_geo_lon = PhoneUtils.getInstance().getLocationInfo(context, 1);
ZXHCConstant.device_geo_lat = PhoneUtils.getInstance().getLocationInfo(context, 2);
ZXHCConstant.device_geo_city = PhoneUtils.getInstance().getLocationInfo(context, 3);
installedReceiver = new AppInstallReceive();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.PACKAGE_ADDED");
filter.addAction("android.intent.action.PACKAGE_REMOVED");
filter.addDataScheme("package");
context.registerReceiver(installedReceiver, filter);
}
});
} else {
//throw new IllegalStateException("set context duplicate");
}
}
public static Context get() {
if (mAppContext == null) {
throw new IllegalStateException("forget init?");
} else {
return mAppContext;
}
}
}
\ No newline at end of file
package com.ym.zxhcsdk;
import android.app.Activity;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.support.v4.content.FileProvider;
import android.text.TextUtils;
import android.util.Log;
import java.io.File;
import java.util.List;
import static android.content.Context.DOWNLOAD_SERVICE;
public class DownLoadUtils {
private DownloadManager downloadManager = null;
//下载的ID
// private long downloadId = 0;
// private String filePath = null;
// private String mFileName;
// private boolean isDownloading = false;
private Activity activity;
// private List<HcAdBean>
public DownLoadUtils(Activity activity) {
this.activity = activity;
//注册广播监测下载情况
activity.registerReceiver(receiver,
new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
this.downloadManager = (DownloadManager) AppliContext.get().getSystemService(DOWNLOAD_SERVICE);
}
//下载apk
public boolean downloadAPK(HcAdBean adBean) {
for (int i = 0; i < ZXHCConstant.adList.size(); i++) {
if (ZXHCConstant.adList.get(i).getDUrl().equals(adBean.getDUrl())) {
// Log.d("wxw", "正在下载");
if (ZXHCConstant.adList.get(i).isDownOver()) {
try {
installAPK(ZXHCConstant.adList.get(i));
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
}
//创建下载任务
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(adBean.getDown_url()));
// DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://203.187.160.132:9011/qd.shouji.qihucdn.com/c3pr90ntc0td/nqapk/sjzs2_100000003_5f1aaeb8c462450478/201012/d1208503899d47cab3251dfaa06aaf95/appstore-300090091.apk"));
// DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://a.xzfile.com/apk/tuan800_downcc.apk"));
//移动网络情况下是否允许漫游
request.setAllowedOverRoaming(false);
//在通知栏中显示,默认就是显示的
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
request.setTitle(adBean.getTitle());
request.setDescription(adBean.getContent());
request.setVisibleInDownloadsUi(true);
if (TextUtils.isEmpty(adBean.getApp_name())) {
adBean.setApp_name(adBean.getTitle());
}
//设置下载的路径
File file = new File(activity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), adBean.getApp_name() + "");
if (file.exists()) {
file.delete();
}
request.setDestinationUri(Uri.fromFile(file));
String filePath = file.getAbsolutePath();
Log.d("wxw", "filePath " + filePath);
adBean.setDownLoadFilePath(filePath);
//获取DownloadManager
if (downloadManager == null)
downloadManager = (DownloadManager) activity.getSystemService(Context.DOWNLOAD_SERVICE);
//将下载请求加入下载队列,加入下载队列后会给该任务返回一个long型的id,通过该id可以取消任务,重启任务、获取下载的文件等等
if (downloadManager != null) {
long downloadId = downloadManager.enqueue(request);
adBean.setDownLoadId(downloadId);
}
DownLoadStartReport(adBean);
ZXHCConstant.adList.add(adBean);
return true;
}
//广播监听下载的各个状态
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
for (int i = 0; i < ZXHCConstant.adList.size(); i++) {
checkStatus(ZXHCConstant.adList.get(i), i);
}
}
};
//检查下载状态
private void checkStatus(HcAdBean adBean, int i) {
DownloadManager.Query query = new DownloadManager.Query();
//通过下载的id查找
query.setFilterById(adBean.getDownLoadId());
Cursor cursor = downloadManager.query(query);
if (cursor.moveToFirst()) {
int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
switch (status) {
//下载暂停
case DownloadManager.STATUS_PAUSED:
// Log.d("wxw", "下载暂停" + adBean.getDownLoadId());
break;
//下载延迟
case DownloadManager.STATUS_PENDING:
// Log.d("wxw", "下载延迟" + adBean.getDownLoadId());
break;
//正在下载
case DownloadManager.STATUS_RUNNING:
// Log.d("wxw", "正在下载" + adBean.getDownLoadId());
break;
//下载完成
case DownloadManager.STATUS_SUCCESSFUL:
cursor.close();
// Log.d("wxw", "下载完成" + adBean.getDownLoadId());
DownLoadSuccessReport(adBean);
//下载完成安装APK
installAPK(adBean);
adBean.setDownOver(true);
ZXHCConstant.adList.set(i, adBean);
activity.unregisterReceiver(receiver);
break;
//下载失败
case DownloadManager.STATUS_FAILED:
// Log.d("wxw", "下载失败" + adBean.getDownLoadId());
cursor.close();
break;
}
}
}
private void installAPK(HcAdBean adBean) {
Intent intent = new Intent(Intent.ACTION_VIEW);
// 由于没有在Activity环境下启动Activity,设置下面的标签
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//Android 7.0以上要使用FileProvider
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Log.d("wxw", "getDownLoadFilePath" + adBean.getDownLoadFilePath());
File file = new File(adBean.getDownLoadFilePath());
//参数1 上下文, 参数2 Provider主机地址 和配置文件中保持一致 参数3 共享的文件
Uri apkUri = FileProvider.getUriForFile(activity, PhoneUtils.getInstance().getAppPackage() + ".fileProvider", file);
//添加这一句表示对目标应用临时授权该Uri所代表的文件
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, adBean.getApp_name())), "application/vnd.android.package-archive");
}
activity.startActivity(intent);
InstallStartReport(adBean);
}
private void DownLoadSuccessReport(HcAdBean adBean) {
if (adBean.getFinishdownloadmonitorUrls() != null && adBean.getFinishdownloadmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getFinishdownloadmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getFinishdownloadmonitorUrls().get(i));
}
}
}
private void DownLoadStartReport(HcAdBean adBean) {
if (adBean.getStartdownloadmonitorUrls() != null && adBean.getStartdownloadmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getStartdownloadmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getStartdownloadmonitorUrls().get(i));
}
}
}
private void InstallStartReport(HcAdBean adBean) {
if (adBean.getStartInstallmonitorUrls() != null && adBean.getStartInstallmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getStartInstallmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getStartInstallmonitorUrls().get(i));
}
}
}
}
package com.ym.zxhcsdk;
import java.util.List;
public class HcAdBean {
private int height;
private int width;
private List<String> monitorUrl;
private List<String> clickUrl;
private List<String> srcUrls;
private List<String> dUrl;
private String pid;
private int cid;
private int plan_id;
private String target_type;
private int ad_show_type;
private String app_name;
private String package_name;
private String down_url;
private String title;
private String content;
private String from;
private String req_id;
private String deeplink;
private List<String> startInstallmonitorUrls;
private List<String> finishInstallmonitorUrls;
private List<String> startdownloadmonitorUrls;
private List<String> finishdownloadmonitorUrls;
private List<String> activemonitorUrls;
private List<String> dpSuccmonitorUrls;
private List<String> dpFailmonitorUrls;
private boolean isShowReport;
private boolean isClickReport;
private boolean isClickDpLinkSucReport;
private boolean isClickDpLinkfailReport;
public boolean isClickDpLinkSucReport() {
return isClickDpLinkSucReport;
}
public void setClickDpLinkSucReport(boolean clickDpLinkSucReport) {
isClickDpLinkSucReport = clickDpLinkSucReport;
}
public boolean isClickDpLinkfailReport() {
return isClickDpLinkfailReport;
}
public void setClickDpLinkfailReport(boolean clickDpLinkfailReport) {
isClickDpLinkfailReport = clickDpLinkfailReport;
}
public boolean isShowReport() {
return isShowReport;
}
public void setShowReport(boolean showReport) {
isShowReport = showReport;
}
public boolean isClickReport() {
return isClickReport;
}
public void setClickReport(boolean clickReport) {
isClickReport = clickReport;
}
//下载
private long downLoadId;
private boolean isDownOver;
private String downLoadFilePath;
public boolean isDownOver() {
return isDownOver;
}
public void setDownOver(boolean downOver) {
isDownOver = downOver;
}
public String getDownLoadFilePath() {
return downLoadFilePath;
}
public void setDownLoadFilePath(String downLoadFilePath) {
this.downLoadFilePath = downLoadFilePath;
}
public long getDownLoadId() {
return downLoadId;
}
public void setDownLoadId(long downLoadId) {
this.downLoadId = downLoadId;
}
public void setHeight(int height) {
this.height = height;
}
public int getHeight() {
return height;
}
public void setWidth(int width) {
this.width = width;
}
public int getWidth() {
return width;
}
public void setMonitorUrl(List<String> monitorUrl) {
this.monitorUrl = monitorUrl;
}
public List<String> getMonitorUrl() {
return monitorUrl;
}
public void setClickUrl(List<String> clickUrl) {
this.clickUrl = clickUrl;
}
public List<String> getClickUrl() {
return clickUrl;
}
public void setSrcUrls(List<String> srcUrls) {
this.srcUrls = srcUrls;
}
public List<String> getSrcUrls() {
return srcUrls;
}
public void setDUrl(List<String> dUrl) {
this.dUrl = dUrl;
}
public List<String> getDUrl() {
return dUrl;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getPid() {
return pid;
}
public void setCid(int cid) {
this.cid = cid;
}
public int getCid() {
return cid;
}
public void setPlan_id(int plan_id) {
this.plan_id = plan_id;
}
public int getPlan_id() {
return plan_id;
}
public void setTarget_type(String target_type) {
this.target_type = target_type;
}
public String getTarget_type() {
return target_type;
}
public void setAd_show_type(int ad_show_type) {
this.ad_show_type = ad_show_type;
}
public int getAd_show_type() {
return ad_show_type;
}
public void setFrom(String from) {
this.from = from;
}
public String getFrom() {
return from;
}
public void setReq_id(String req_id) {
this.req_id = req_id;
}
public String getReq_id() {
return req_id;
}
public String getApp_name() {
return app_name;
}
public void setApp_name(String app_name) {
this.app_name = app_name;
}
public String getPackage_name() {
return package_name;
}
public void setPackage_name(String package_name) {
this.package_name = package_name;
}
public String getDown_url() {
return down_url;
}
public void setDown_url(String down_url) {
this.down_url = down_url;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public List<String> getStartInstallmonitorUrls() {
return startInstallmonitorUrls;
}
public void setStartInstallmonitorUrls(List<String> startInstallmonitorUrls) {
this.startInstallmonitorUrls = startInstallmonitorUrls;
}
public List<String> getFinishInstallmonitorUrls() {
return finishInstallmonitorUrls;
}
public void setFinishInstallmonitorUrls(List<String> finishInstallmonitorUrls) {
this.finishInstallmonitorUrls = finishInstallmonitorUrls;
}
public List<String> getStartdownloadmonitorUrls() {
return startdownloadmonitorUrls;
}
public void setStartdownloadmonitorUrls(List<String> startdownloadmonitorUrls) {
this.startdownloadmonitorUrls = startdownloadmonitorUrls;
}
public List<String> getFinishdownloadmonitorUrls() {
return finishdownloadmonitorUrls;
}
public void setFinishdownloadmonitorUrls(List<String> finishdownloadmonitorUrls) {
this.finishdownloadmonitorUrls = finishdownloadmonitorUrls;
}
public List<String> getActivemonitorUrls() {
return activemonitorUrls;
}
public void setActivemonitorUrls(List<String> activemonitorUrls) {
this.activemonitorUrls = activemonitorUrls;
}
public String getDeeplink() {
return deeplink;
}
public void setDeeplink(String deeplink) {
this.deeplink = deeplink;
}
public List<String> getDpSuccmonitorUrls() {
return dpSuccmonitorUrls;
}
public void setDpSuccmonitorUrls(List<String> dpSuccmonitorUrls) {
this.dpSuccmonitorUrls = dpSuccmonitorUrls;
}
public List<String> getDpFailmonitorUrls() {
return dpFailmonitorUrls;
}
public void setDpFailmonitorUrls(List<String> dpFailmonitorUrls) {
this.dpFailmonitorUrls = dpFailmonitorUrls;
}
}
package com.ym.zxhcsdk;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class HttpClientUtils {
private static final String TAG = "HttpClientUtils";
public static void GetEvent(String url) {
new Thread() {
public void run() {
getRequest(url, new OnRequestCallBack() {
@Override
public void onSuccess(String json) {
// Log.d("wxw", "GetEvent url"+url);
// Log.d("wxw", "GetEvent json"+json);
}
@Override
public void onError(String errorMsg) {
Log.d("wxw", "GetEvent url" + url);
Log.d("wxw", "GetEvent errorMsg" + errorMsg);
}
});
}
}.start();
}
public static void get(final String requestUrl, Map<String, String> map, final OnRequestCallBack callBack) {
new Thread() {
public void run() {
getRequest(requestUrl + "?" + addParams(map), callBack);
}
}.start();
}
public static void post(final String requestUrl, final String params, final OnRequestCallBack callBack) {
new Thread() {
public void run() {
postRequest(requestUrl, params, callBack);
}
}.start();
}
private static void getRequest(String requestUrl, OnRequestCallBack callBack) {
Log.d("wxw","LoadURL "+requestUrl);
boolean isSuccess = false;
String message;
InputStream inputStream = null;
ByteArrayOutputStream baos = null;
try {
URL url = new URL(requestUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(50000);
connection.setReadTimeout(50000);
// User-Agent IE9的标识
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;");
connection.setRequestProperty("Accept-Language", "zh-CN");
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Charset", "UTF-8");
/*
* 当我们要获取我们请求的http地址访问的数据时就是使用connection.getInputStream().read()方式时我们就需要setDoInput(true),
* 根据api文档我们可知doInput默认就是为true。我们可以不用手动设置了,如果不需要读取输入流的话那就setDoInput(false)。
* 当我们要采用非get请求给一个http网络地址传参 就是使用connection.getOutputStream().write() 方法时我们就需要setDoOutput(true), 默认是false
*/
// 设置是否从httpUrlConnection读入,默认情况下是true;
connection.setDoInput(true);
// 设置是否向httpUrlConnection输出,如果是post请求,参数要放在http正文内,因此需要设为true, 默认是false;
//connection.setDoOutput(true);//Android 4.0 GET时候 用这句会变成POST 报错java.io.FileNotFoundException
connection.setUseCaches(false);
connection.connect();//
int contentLength = connection.getContentLength();
if (connection.getResponseCode() == 200) {
inputStream = connection.getInputStream();//会隐式调用connect()
baos = new ByteArrayOutputStream();
int readLen;
byte[] bytes = new byte[1024];
while ((readLen = inputStream.read(bytes)) != -1) {
baos.write(bytes, 0, readLen);
}
String result = baos.toString();
message = result;
isSuccess = true;
} else {
//Log.d("wxw","errorUrl "+requestUrl);
message = "请求失败 code:" + connection.getResponseCode() + connection.getResponseMessage();
}
} catch (MalformedURLException e) {
message = e.getMessage();
e.printStackTrace();
} catch (IOException e) {
message = e.getMessage();
e.printStackTrace();
} finally {
try {
if (baos != null) {
baos.close();
}
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
message = e.getMessage();
e.printStackTrace();
}
}
if (callBack != null) {
if (isSuccess) {
callBack.onSuccess(message);
} else {
callBack.onError(message);
}
}
}
private static void postRequest(String requestUrl, String params, OnRequestCallBack callBack) {
boolean isSuccess = false;
String message;
InputStream inputStream = null;
ByteArrayOutputStream baos = null;
try {
URL url = new URL(requestUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设定请求的方法为"POST",默认是GET
connection.setRequestMethod("POST");
connection.setConnectTimeout(50000);
connection.setReadTimeout(50000);
// User-Agent IE9的标识
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;");
connection.setRequestProperty("Accept-Language", "zh-CN");
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Charset", "UTF-8");
/*
* 当我们要获取我们请求的http地址访问的数据时就是使用connection.getInputStream().read()方式时我们就需要setDoInput(true),
* 根据api文档我们可知doInput默认就是为true。我们可以不用手动设置了,如果不需要读取输入流的话那就setDoInput(false)。
* 当我们要采用非get请求给一个http网络地址传参 就是使用connection.getOutputStream().write() 方法时我们就需要setDoOutput(true), 默认是false
*/
// 设置是否从httpUrlConnection读入,默认情况下是true;
connection.setDoInput(true);
// 设置是否向httpUrlConnection输出,如果是post请求,参数要放在http正文内,因此需要设为true, 默认是false;
connection.setDoOutput(true);
connection.setUseCaches(false);
// set params three way OutputStreamWriter
OutputStreamWriter out = new OutputStreamWriter(
connection.getOutputStream(), "UTF-8");
// 发送请求params参数
out.write(params);
out.flush();
connection.connect();
int contentLength = connection.getContentLength();
if (connection.getResponseCode() == 200) {
// 会隐式调用connect()
inputStream = connection.getInputStream();
baos = new ByteArrayOutputStream();
int readLen;
byte[] bytes = new byte[1024];
while ((readLen = inputStream.read(bytes)) != -1) {
baos.write(bytes, 0, readLen);
}
String backStr = baos.toString();
message = backStr;
isSuccess = true;
} else {
message = "请求失败 code:" + connection.getResponseCode();
}
} catch (MalformedURLException e) {
message = e.getMessage();
e.printStackTrace();
} catch (IOException e) {
message = e.getMessage();
e.printStackTrace();
} finally {
try {
if (baos != null) {
baos.close();
}
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
message = e.getMessage();
e.printStackTrace();
}
}
if (isSuccess) {
callBack.onSuccess(message);
} else {
callBack.onError(message);
}
}
public interface OnRequestCallBack {
void onSuccess(String json);
void onError(String errorMsg);
}
public static void LoadImg(final String imgUrl, final OnRequestImgCallBack callBack) {
new Thread() {
public void run() {
getImg(imgUrl, callBack);
}
}.start();
}
private static void getImg(String url, OnRequestImgCallBack callBack) {
boolean isSuccess = false;
String message = "";
URL imgUrl = null;
Bitmap bitmap = null;
InputStream is = null;
try {
imgUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) imgUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
if (conn.getResponseCode() == 200) {
is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
isSuccess = true;
} else {
message = "请求失败 code:" + conn.getResponseCode();
}
} catch (MalformedURLException e) {
message = e.getMessage();
e.printStackTrace();
} catch (IOException e) {
message = e.getMessage();
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
} catch (IOException e) {
message = e.getMessage();
e.printStackTrace();
}
}
if (isSuccess) {
callBack.onSuccess(bitmap);
} else {
callBack.onError(message);
}
}
public interface OnRequestImgCallBack {
void onSuccess(Bitmap bitmap);
void onError(String errorMsg);
}
public static String addParams(Map<String, String> request) {
if (request == null) {
request = new HashMap<>();
}
String str = "";
//// request.put("pid","2100154");
//// request.put("type","api");
//// request.put("ad_type","3");
//// request.put("ad_w","720");
//// request.put("ad_h","1280");
// request.put("app_id", ZXHCConstant.ZXHC_APPID);
// request.put("app_package","com.popcap.pvz2cthd");
// request.put("app_name","com.popcap.pvz2cthd");
// request.put("app_version","1005");
// request.put("device_imei","X6GNU17524105082");
// request.put("device_adid","d0cf1c3d5280f16b");
// request.put("device_mac","F0:C8:50:A1:4E:8E");
// request.put("device_width","1920");
// request.put("device_height","1132");
// request.put("device_imsi","460000501365163");
// request.put("device_network","1");
// request.put("device_os","Android");
// request.put("device_os_version","device_os_version");
// request.put("device_density","2.0");
// request.put("device_ppi","2.0");
// request.put("device_ip","183.211.87.156");
// request.put("device_ua","Dalvik%2F2.1.0+%28Linux%3B+U%3B+Android+9%3B+Redmi+Note+8+Pro+MIUI%2FV10.4.9.0.PGGCNXM%29");
// request.put("device_type","0");
// request.put("is_mobile","1");
// request.put("device_model","FLA-AL10");
// request.put("device_brand","HUAWEI");
request.put("app_id", ZXHCConstant.ZXHC_APPID);
request.put("app_package", ZXHCConstant.app_package);
request.put("app_name", ZXHCConstant.app_name);
request.put("app_version", ZXHCConstant.app_version);
request.put("device_imei", ZXHCConstant.device_imei);
request.put("device_oaid", ZXHCConstant.device_oaid);
request.put("device_adid", ZXHCConstant.device_adid);
request.put("device_mac", ZXHCConstant.device_mac);
request.put("device_width", ZXHCConstant.device_width);
request.put("device_height", ZXHCConstant.device_height);
request.put("device_imsi", ZXHCConstant.device_imsi);
request.put("device_network", ZXHCConstant.device_network);
request.put("device_os", ZXHCConstant.device_os);
request.put("device_os_version", ZXHCConstant.device_os_version);
request.put("device_density", ZXHCConstant.device_density);
request.put("device_ppi", ZXHCConstant.device_ppi);
request.put("screen_size", ZXHCConstant.screen_size);
request.put("device_ip", ZXHCConstant.device_ip);
request.put("device_ua", ZXHCConstant.device_ua);
request.put("device_type", ZXHCConstant.device_type);
request.put("is_mobile", "1");
request.put("device_model", ZXHCConstant.device_model);
request.put("device_brand", ZXHCConstant.device_brand);
request.put("device_geo_lat", ZXHCConstant.device_geo_lat);
request.put("device_geo_lon", ZXHCConstant.device_geo_lon);
request.put("device_geo_city", ZXHCConstant.device_geo_city);
Iterator entries = request.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
if (entry.getKey() != null && entry.getValue() != null) {
str += entry.getKey() + "=" + entry.getValue() + "&";
}
entries.remove();
}
str = str.substring(0, str.length() - 1);
return str;
}
}
package com.ym.zxhcsdk;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Point;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.provider.Settings;
import android.support.v4.app.ActivityCompat;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.Display;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.UUID;
public class PhoneUtils {
private static PhoneUtils instance = new PhoneUtils();
public static PhoneUtils getInstance() {
return instance;
}
/**
* 获取设备AndroidID
*
* @return AndroidID
*/
public String getAndroidID(Context context) {
try {
String androidId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
if (androidId != null) {
return androidId;
} else {
return "";
}
} catch (Exception e) {
return UUID.randomUUID().toString();
}
}
/**
* 获取当前的运营商
*
* @param context
* @return 运营商名字
*/
public String getOperator(Context context) {
String ProvidersName = "";
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String IMSI = "";
try {
IMSI = telephonyManager.getSubscriberId();
} catch (SecurityException e) {
// Toast.makeText(context, "请开启读取手机权限", Toast.LENGTH_SHORT).show()
return "0";
}
if (IMSI != null) {
if (IMSI.startsWith("46000") || IMSI.startsWith("46002") || IMSI.startsWith("46007")) {
// ProvidersName = "移动";
ProvidersName = "1";
} else if (IMSI.startsWith("46001") || IMSI.startsWith("46006")) {
ProvidersName = "2";
// ProvidersName = "联通";
} else if (IMSI.startsWith("46003")) {
ProvidersName = "3";
// ProvidersName = "电信";
}
return ProvidersName;
} else {
return "0";
// return "没有获取到sim卡信息";
}
}
public String getRealFilePath(Context context, Uri uri) {
return "方法未实现";
}
/**
* @Description: 获取屏幕的宽度
* @param: context
* @return: int
*/
public int getScreenWidth(Context context) {
return context.getResources().getDisplayMetrics().widthPixels;
}
/**
* 获取屏幕高度
*
* @param context
* @return int
*/
public int getScreenHeight(Context context) {
return context.getResources().getDisplayMetrics().heightPixels;
}
/**
* 获取屏幕高度
*
* @param context
* @return int
*/
public int getScreenDpi(Context context) {
return context.getResources().getDisplayMetrics().densityDpi;
}
/**
* 获取屏幕尺寸
*
* @param context
* @return int
*/
public double getScreenSize(Activity context) {
double mInch=0;
try {
int realWidth = 0, realHeight = 0;
Display display = context.getWindowManager().getDefaultDisplay();
DisplayMetrics metrics = new DisplayMetrics();
display.getMetrics(metrics);
if (android.os.Build.VERSION.SDK_INT >= 17) {
Point size = new Point();
display.getRealSize(size);
realWidth = size.x;
realHeight = size.y;
} else if (android.os.Build.VERSION.SDK_INT < 17
&& android.os.Build.VERSION.SDK_INT >= 14) {
Method mGetRawH = Display.class.getMethod("getRawHeight");
Method mGetRawW = Display.class.getMethod("getRawWidth");
realWidth = (Integer) mGetRawW.invoke(display);
realHeight = (Integer) mGetRawH.invoke(display);
} else {
realWidth = metrics.widthPixels;
realHeight = metrics.heightPixels;
}
mInch =formatDouble(Math.sqrt((realWidth/metrics.xdpi) * (realWidth /metrics.xdpi) + (realHeight/metrics.ydpi) * (realHeight / metrics.ydpi)),1);
} catch (Exception e) {
e.printStackTrace();
}
return mInch;
}
/**
* Double类型保留指定位数的小数,返回double类型(四舍五入)
* newScale 为指定的位数
*/
private static double formatDouble(double d,int newScale) {
BigDecimal bd = new BigDecimal(d);
return bd.setScale(newScale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 获取屏幕分辨率
*
* @param context
* @return int
*/
public float getScreenDensity(Context context) {
return context.getResources().getDisplayMetrics().density;
}
/**
* 获取设备型号
*
* @return 设备型号
*/
public String getModel() {
String model = Build.MODEL;
return model;
}
/**
* 获取App版本码
*
* @return App版本码
*/
public int getAppVersionCode(Context context) {
PackageManager manager = context.getPackageManager();
int code = 0;
try {
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
code = info.versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return code;
}
/**
* 获取App版本号
*
* @return App版本号
*/
public String getAppVersionName(Context context) {
String versionName = null;
try {
PackageManager pm = context.getPackageManager();
PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
versionName = pi.versionName;
} catch (Exception e) {
return "";
}
return versionName;
}
/**
* 获取App包名
*
* @return App版本码
*/
public String getAppPackage() {
return AppliContext.get().getPackageName();
}
/**
* 获取应用程序名称
*/
public String getAppName(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
int labelRes = packageInfo.applicationInfo.labelRes;
return context.getResources().getString(labelRes);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
/**
* 获取IP地址
* <p>
* 需添加权限 `<uses-permission android:name="android.permission.INTERNET"/>`
*
* @param useIPv4 是否用IPv4
* @return IP地址
*/
public String getIPAddress(boolean useIPv4) {
try {
Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
while (nis.hasMoreElements()) {
NetworkInterface ni = nis.nextElement();
if (ni.isUp()) {
continue;
}
Enumeration<InetAddress> addresses = ni.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress inetAddress = addresses.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String hostAddress = inetAddress.getHostAddress();
boolean isIPv4 = hostAddress.indexOf(':') < 0;
if (useIPv4) {
if (isIPv4) return hostAddress;
} else {
if (!isIPv4) {
int index = hostAddress.indexOf('%');
if (index < 0) {
return hostAddress.toUpperCase();
} else {
return hostAddress.substring(0, index).toUpperCase();
}
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public String getDeviceId(Context context) {
return getMd5Value(getAndroidID(context) + getImei(context));
}
public String getMd5Value(String sSecret) {
try {
MessageDigest bmd5 = MessageDigest.getInstance("MD5");
bmd5.update(sSecret.getBytes());
} catch (NoSuchAlgorithmException e) {
}
return "";
}
public String getImei(Context context) {
try {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyManager.getDeviceId();
} catch (SecurityException e) {
// Toast.makeText(context, "请开启读取手机权限", Toast.LENGTH_SHORT).show()
// In some devices, we are not able to get device id, and may cause some exception,
// so catch it.
return "";
}
}
public String getMac(Context context) {
String strMac = "";
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
strMac = getLocalMacAddressFromWifiInfo(context);
return strMac;
} else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
strMac = getMacAddress(context);
return strMac;
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
if (!TextUtils.isEmpty(getMacAddress(context))) {
strMac = getMacAddress(context);
return strMac;
} else if (!TextUtils.isEmpty(getMachineHardwareAddress())) {
strMac = getMachineHardwareAddress();
return strMac;
} else {
strMac = getLocalMacAddressFromBusybox();
return strMac;
}
}
return "";
}
public String getLocalMacAddressFromWifiInfo(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String str = info.getMacAddress();
if (str == null) {
str = "";
}
return str;
}
public String getLocalMacAddressFromBusybox() {
String result = "";
String Mac = "";
result = callCmd("busybox ifconfig", "HWaddr");
// 如果返回的result == null,则说明网络不可取
if (TextUtils.isEmpty(result)) {
// return "网络异常";
return "";
}
// 对该行数据进行解析
// 例如:eth0 Link encap:Ethernet HWaddr 00:16:E8:3E:DF:67
if (result.length() > 0 && result.contains("HWaddr")) {
Mac = result.substring(result.indexOf("HWaddr") + 6, result.length() - 1);
result = Mac;
}
return result;
}
private String callCmd(String cmd, String filter) {
String result = "";
String line = "";
try {
Process proc = Runtime.getRuntime().exec(cmd);
InputStreamReader mInputStream = new InputStreamReader(proc.getInputStream());
BufferedReader br = new BufferedReader(mInputStream);
while ((line.equals(br.readLine())) && !line.contains(filter)) {
result += line;
if (TextUtils.isEmpty(result)) {
return "";
}
}
result = line;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* android 7.0及以上 (2)扫描各个网络接口获取mac地址
*
*/
/**
* 获取设备HardwareAddress地址
*
* @return
*/
public String getMachineHardwareAddress() {
Enumeration<NetworkInterface> interfaces = null;
try {
interfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
e.printStackTrace();
}
String hardWareAddress = "";
NetworkInterface iF = null;
if (interfaces == null) {
return "";
}
while (interfaces.hasMoreElements()) {
iF = interfaces.nextElement();
try {
hardWareAddress = bytesToString(iF.getHardwareAddress());
if (hardWareAddress != null)
break;
} catch (SocketException e) {
e.printStackTrace();
}
}
return hardWareAddress;
}
/***
* byte转为String
*
* @param bytes
* @return
*/
private String bytesToString(byte[] bytes) {
if (bytes == null || bytes.length <= 0) {
return "";
}
StringBuilder buf = new StringBuilder();
for (byte b : bytes) {
buf.append(String.format("%02X:", b));
}
if (buf.length() > 0) {
buf.deleteCharAt(buf.length() - 1);
}
return buf.toString();
}
private String getMacAddress(Context context) {
// 如果是6.0以下,直接通过wifimanager获取
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
String macAddress0 = getMacAddress0(context);
if (!TextUtils.isEmpty(macAddress0)) {
return macAddress0;
}
}
String str = "";
String macSerial = "";
try {
Process pp = Runtime.getRuntime().exec(
"cat /sys/class/net/wlan0/address"
);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
while (null != str) {
str = input.readLine();
if (str != null) {
macSerial = str.trim();
break;
}
}
} catch (Exception ex) {
}
if (macSerial == null || "" == macSerial) {
try {
String loadFileAsString = loadFileAsString("/sys/class/net/eth0/address");
if (!TextUtils.isEmpty(loadFileAsString) && loadFileAsString.length() > 17) {
return loadFileAsString.toUpperCase().substring(0, 17);
} else {
return loadFileAsString.toUpperCase();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return macSerial;
}
private String getMacAddress0(Context context) {
if (isAccessWifiStateAuthorized(context)) {
WifiManager wifiMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = null;
try {
wifiInfo = wifiMgr.getConnectionInfo();
return wifiInfo.getMacAddress();
} catch (Exception e) {
}
}
return "";
}
/**
* Check whether accessing wifi state is permitted
*
* @param context
* @return
*/
private boolean isAccessWifiStateAuthorized(Context context) {
if (PackageManager.PERMISSION_GRANTED == context
.checkCallingOrSelfPermission("android.permission.ACCESS_WIFI_STATE")
) {
return true;
} else
return false;
}
private String loadFileAsString(String fileName) {
try {
FileReader reader = new FileReader(fileName);
String text = loadReaderAsString(reader);
reader.close();
return text;
} catch (Exception e) {
return "";
}
}
private String loadReaderAsString(Reader reader) throws IOException {
StringBuilder builder = new StringBuilder();
char[] buffer = new char[4096];
int readLength = reader.read(buffer);
while (readLength >= 0) {
builder.append(buffer, 0, readLength);
readLength = reader.read(buffer);
}
return builder.toString();
}
/**
* 获取当前网络类型
* <p>
* 需添加权限 `<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>`
*
* @return 网络类型
*/
private enum NetworkType {
NETWORK_WIFI,
NETWORK_4G,
NETWORK_3G,
NETWORK_2G,
NETWORK_UNKNOWN,
NETWORK_NO
}
public String getNetwork(Context context) {
String s = "";
switch (getNetworkType(context)) {
case NETWORK_2G:
s = "2";
break;
case NETWORK_3G:
s = "3";
break;
case NETWORK_4G:
s = "4";
break;
case NETWORK_WIFI:
s = "1";
break;
default:
s = "5";
break;
}
return s;
}
public NetworkType getNetworkType(Context context) {
NetworkType netType = NetworkType.NETWORK_NO;
NetworkInfo info = getActiveNetworkInfo(context);
if (info != null && info.isAvailable()) {
if (info.getType() == ConnectivityManager.TYPE_WIFI) {
netType = NetworkType.NETWORK_WIFI;
} else if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
switch (info.getSubtype()) {
case TelephonyManager.NETWORK_TYPE_GSM:
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
netType = NetworkType.NETWORK_2G;
break;
case TelephonyManager.NETWORK_TYPE_TD_SCDMA:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
netType = NetworkType.NETWORK_3G;
break;
case TelephonyManager.NETWORK_TYPE_IWLAN:
case TelephonyManager.NETWORK_TYPE_LTE:
netType = NetworkType.NETWORK_4G;
break;
default:
String subtypeName = info.getSubtypeName();
if (subtypeName.equalsIgnoreCase("TD-SCDMA")
|| subtypeName.equalsIgnoreCase("WCDMA")
|| subtypeName.equalsIgnoreCase("CDMA2000")
) {
netType = NetworkType.NETWORK_3G;
} else {
netType = NetworkType.NETWORK_UNKNOWN;
}
break;
}
} else {
netType = NetworkType.NETWORK_UNKNOWN;
}
}
return netType;
}
/**
* 获取活动网络信息
* <p>
* 需添加权限 `<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>`
*
* @return NetworkInfo
*/
@SuppressLint("MissingPermission")
private NetworkInfo getActiveNetworkInfo(Context context) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
try {
return manager.getActiveNetworkInfo();
} catch (Exception e) {
return null;
}
}
private String buildMap(Map<String, String> map) {
StringBuffer sb = new StringBuffer();
if (map.size() > 0) {
for (String key : map.keySet()) {
sb.append(key + "=");
if (TextUtils.isEmpty(map.get(key))) {
sb.append("&");
} else {
String value = map.get(key);
try {
value = URLEncoder.encode(value, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
sb.append(value + "&");
}
}
}
return sb.toString();
}
@SuppressLint("MissingPermission")
private String getBSSID(Context context) {
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
String s = "";
if (mWifiInfo != null) {
s = mWifiInfo.getBSSID();
}
return s;
}
/**
* 获取手机IMSI号
*/
@SuppressLint("MissingPermission")
public String getIMSI(Context context) {
try {
TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getSubscriberId();
} catch (Exception e) {
return "";
}
}
public String getLocationInfo(Context context, int type) {
//type =1 经度 2 纬度
String locationProvider;
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
// 获取所有可用的位置提供器
List<String> providers = locationManager.getProviders(true);
if (providers.contains(LocationManager.GPS_PROVIDER)) {
// 如果是GPS
locationProvider = LocationManager.GPS_PROVIDER;
} else if (providers.contains(LocationManager.NETWORK_PROVIDER)) {
// 如果是Network
locationProvider = LocationManager.NETWORK_PROVIDER;
} else {
// Toast.makeText(this, "没有可用的位置提供器", Toast.LENGTH_SHORT).show();
return "";
}
// 获取Location
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return "";
}
Location location = locationManager.getLastKnownLocation(locationProvider);
if (location != null) {
// 不为空,显示地理位置经纬度
if (type == 1) {
return location.getLongitude() + "";
} else if (type == 2) {
return location.getLatitude() + "";
} else if (type == 3) {
List<Address> result = null;
try {
if (location != null) {
Geocoder gc = new Geocoder(context, Locale.getDefault());
result = gc.getFromLocation(location.getLatitude(),
location.getLongitude(), 1);
}
} catch (Exception e) {
e.printStackTrace();
}
return result.get(0).getLocality();
}
} else {
//ToastUtils.showToast(this, "GPS未定位到位置");
}
return "";
}
public void setOaid(String oaid){
ZXHCConstant.device_oaid =oaid;
}
public String getoaid(){
return ZXHCConstant.device_oaid;
}
}
package com.ym.zxhcsdk;
import java.util.ArrayList;
public class ZXHCConstant {
public static String ZXHC_APPID = "";
public static boolean IS_DEBUG = true;
public static String BASE_URL = "";
public static String app_package = "";
public static String app_name = "";
public static String app_version = "";
public static String device_imei = "";
public static String device_adid = "";
public static String device_mac = "";
public static String device_width = "";
public static String device_height = "";
public static String device_imsi = "";
public static String device_network = "";
public static String device_os = "";
public static String device_os_version = "";
public static String device_density = "";
public static String device_ppi = "";
public static String screen_size = "";
public static String device_ip = "";
public static String device_ua = "";
public static String device_type = "";
public static String is_mobile = "";
public static String device_model = "";
public static String device_brand = "";
public static String device_geo_lat = "";
public static String device_geo_lon = "";
public static String device_geo_city = "";
public static String device_oaid = "";
public static ArrayList<HcAdBean> adList = new ArrayList<>();
}
package com.ym.zxhcsdk.listener;
public interface FeedAdListener {
/// <summary>
/// 广告数据拉取成功
/// </summary>
void OnAdLoaded();
/// <summary>
/// 广告加载失败
/// </summary>
void OnError(String error);
/// <summary>
/// 当广告点击时发起的回调
/// </summary>
void OnAdClicked();
/// <summary>
/// 当广告被展示
/// </summary>
void OnAdShow();
/// <summary>
/// 当广告关闭时调用
/// </summary>
void OnAdClosed();
}
package com.ym.zxhcsdk.listener;
public interface RewardVideoAdListener {
/// <summary>
/// 广告加载成功,可在此回调后进行广告展示
/// </summary>
void OnAdLoaded();
/// <summary>
/// 激励视频数据下载成功回调,已经下载过的视频会直接回调
/// </summary>
void OnVideoCached();
/// <summary>
/// 激励视频广告页面展示回调
/// </summary>
void OnAdShown();
/// <summary>
/// 激励视频广告曝光回调
/// </summary>
void OnAdExposured();
/// <summary>
/// 激励视频广告信息点击回调
/// </summary>
void OnAdClicked();
/// <summary>
/// 激励视频广告播放完成回调
/// </summary>
void OnVideoCompleted();
/// <summary>
/// 激励视频广告播放页关闭回调
/// </summary>
void OnAdClosed();
/// <summary>
/// 激励视频广告各种错误信息回调
/// </summary>
void OnError(String error);
}
package com.ym.zxhcsdk.listener;
public interface SplashAdListener {
/// <summary>
/// 广告数据拉取成功
/// </summary>
void OnAdLoaded();
/// <summary>
/// 广告加载失败
/// </summary>
void OnError(String error);
/// <summary>
/// 当广告点击时发起的回调
/// </summary>
void OnAdClicked();
/// <summary>
/// 当广告被展示
/// </summary>
void OnAdShow();
/// <summary>
/// 当广告关闭时调用
/// </summary>
void OnAdClosed();
}
package com.ym.zxhcsdk.manager;
import android.app.Activity;
import android.util.Log;
import com.ym.zxhcsdk.AppliContext;
import com.ym.zxhcsdk.ZXHCConstant;
public class ZXHCADManager {
private static volatile ZXHCADManager sInstance;
private ZXHCADManager() {
}
public static ZXHCADManager getInstance() {
if (sInstance == null) {
synchronized (ZXHCADManager.class) {
if (sInstance == null) {
sInstance = new ZXHCADManager();
}
}
}
return sInstance;
}
public boolean InitAd(Activity context, String appId){
Log.d("wxw","appid"+appId);
ZXHCConstant.ZXHC_APPID = appId;
AppliContext.init(context);
ZXHCConstant.IS_DEBUG = true;
if (ZXHCConstant.IS_DEBUG){
ZXHCConstant.BASE_URL = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads";
}else {
ZXHCConstant.BASE_URL = "";
}
return true;
}
}
package com.ym.zxhcsdk.manager;
import android.app.Activity;
import android.os.Handler;
import android.os.Looper;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
public class ZXHCAdViewManager {
private static volatile ZXHCAdViewManager sInstance;
private final Handler handler = new Handler(Looper.getMainLooper());
private ZXHCAdViewManager() {
}
public static ZXHCAdViewManager getInstance() {
if (sInstance == null) {
synchronized (ZXHCAdViewManager.class) {
if (sInstance == null) {
sInstance = new ZXHCAdViewManager();
}
}
}
return sInstance;
}
public void showAdView(final Activity context, final View adView, boolean isWrapContent) {
if (context == null || adView == null) {
return;
}
handler.post(new Runnable() {
@Override
public void run() {
FrameLayout.LayoutParams lp;
if (isWrapContent) {
lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
} else {
lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
}
lp.gravity = Gravity.CENTER | Gravity.BOTTOM;
addAdView(context, adView, lp);
}
});
}
private void addAdView(Activity context, View adView, ViewGroup.LayoutParams layoutParams) {
if (context == null || adView == null || layoutParams == null) {
return;
}
ViewGroup group = getRootLayout(context);
if (group == null) {
return;
}
group.addView(adView, layoutParams);
}
public void removeAdView(Activity context, View adView) {
if (context == null || adView == null) {
return;
}
handler.post(new Runnable() {
@Override
public void run() {
ViewGroup group = getRootLayout(context);
if (group == null) {
return;
}
group.removeView(adView);
}
});
}
public ViewGroup newFrameLayout(Activity context) {
FrameLayout layout = new FrameLayout(context);
return layout;
}
private ViewGroup getRootLayout(Activity context) {
if (context == null) {
return null;
}
return context.findViewById(android.R.id.content);
}
}
package com.ym.zxhcsdk.view;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.ym.zxhcsdk.DownLoadUtils;
import com.ym.zxhcsdk.HcAdBean;
import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.R;
import com.ym.zxhcsdk.ZXHCConstant;
import com.ym.zxhcsdk.listener.FeedAdListener;
import com.ym.zxhcsdk.manager.ZXHCAdViewManager;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ZXHCFeedAD {
private Activity context;
private String codeId;
private int width;
private int height;
private FeedAdListener listener;
public ZXHCFeedAD(Activity context, String codeId, int width, int height, FeedAdListener listener) {
this.context = context;
this.codeId = codeId;
this.width = width;
this.height = height;
this.listener = listener;
}
private HcAdBean adBean;
private Bitmap mBitmap;
public void loadAD() {
Map<String, String> map = new HashMap<>();
map.put("pid", codeId);
map.put("type", "api");
map.put("ad_type", "3");
map.put("ad_w", width + "");
map.put("ad_h", height + "");
HttpClientUtils.get(ZXHCConstant.BASE_URL, map, new HttpClientUtils.OnRequestCallBack() {
@Override
public void onSuccess(String json) {
adBean = jsonToObj(json);
adBean.setShowReport(false);
adBean.setClickReport(false);
adBean.setClickDpLinkSucReport(false);
adBean.setClickDpLinkfailReport(false);
if (adBean.getSrcUrls().size() > 0) {
HttpClientUtils.LoadImg(adBean.getSrcUrls().get(0), new HttpClientUtils.OnRequestImgCallBack() {
@Override
public void onSuccess(Bitmap bitmap) {
mBitmap = bitmap;
listener.OnAdLoaded();
}
@Override
public void onError(String errorMsg) {
listener.OnError(errorMsg);
}
});
}
}
@Override
public void onError(String errorMsg) {
listener.OnError(errorMsg);
}
});
}
// private ViewGroup feedVp;
public void destroyFeedAd(ViewGroup feedVp) {
if (feedVp != null) {
listener.OnAdClosed();
ZXHCAdViewManager.getInstance().removeAdView(context, feedVp);
feedVp = null;
}else {
Log.d("wxw","feedAd null");
}
}
private int downX = -999, downY = -999, downRawX = -999, downRawY = -999, upX = -999, upY = -999, upRawX = -999, upRawY = -999;
public void showAd(ViewGroup vp) {
// feedVp = vp;
context.runOnUiThread(new Runnable() {
@SuppressLint("ClickableViewAccessibility")
@Override
public void run() {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.hc_feed_ad, null);
TextView desc = view.findViewById(R.id.id_ad_feed_desc);
TextView title = view.findViewById(R.id.id_ad_feed_title);
Log.d("wxw", "adBean.getContent()"+adBean.getContent()+"adBean.getApp_name()"+adBean.getApp_name());
desc.setText(adBean.getContent());
title.setText(adBean.getTitle());
ImageView feedImg = view.findViewById(R.id.id_ad_feed_img);
ImageView closeImg = view.findViewById(R.id.id_ad_feed_close);
feedImg.setImageBitmap(mBitmap);
closeImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
destroyFeedAd(vp);
}
});
feedImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.OnAdClicked();
FeedAdClick();
ClickReport();
}
});
feedImg.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = (int) event.getX();
downY = (int) event.getY();
downRawX = (int) event.getRawX();
downRawY = (int) event.getRawY();
Log.e("WXW", "downX = " + downX + "; downY = " + downY + "; downRawX = " + downRawX + "; downRawY = " + downRawY);
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
upX = (int) event.getX();
upY = (int) event.getY();
upRawX = (int) event.getRawX();
upRawY = (int) event.getRawY();
Log.e("WXW", "upX = " + upX + "; upY = " + upY + "; upRawX = " + upRawX + "; upRawY = " + upRawY);
break;
}
return false;
}
});
view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View v) {
ShowReport();
listener.OnAdShow();
}
@Override
public void onViewDetachedFromWindow(View v) {
}
});
vp.addView(view);
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = width;
layoutParams.height = height;
Log.d("wxw", "width"+width+"height"+height);
view.setLayoutParams(layoutParams);
}
});
}
private void FeedAdClick() {
boolean IsSuccess = true;
if (TextUtils.isEmpty(adBean.getDeeplink())) {
if (!TextUtils.isEmpty(adBean.getTarget_type())) {
if (adBean.getTarget_type().equals("0")) {//0:网页跳转 1:下载类应用(默认值 0)
if (adBean.getDUrl() != null && adBean.getDUrl().size() > 0) {
Uri uri = Uri.parse(adBean.getDUrl().get(0));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
}
} else if (adBean.getTarget_type().equals("1")) {
new DownLoadUtils(context).downloadAPK(adBean);
}
}
} else {
try {
Uri uri = Uri.parse(adBean.getDeeplink().trim());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (Exception e) {
if (!TextUtils.isEmpty(adBean.getTarget_type())) {
if (adBean.getTarget_type().equals("0")) {//0:网页跳转 1:下载类应用(默认值 0)
if (adBean.getDUrl() != null && adBean.getDUrl().size() > 0) {
Uri uri = Uri.parse(adBean.getDUrl().get(0));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
}
} else if (adBean.getTarget_type().equals("1")) {
new DownLoadUtils(context).downloadAPK(adBean);
}
}
}
if (IsSuccess) {
dpLinkSuccessReport();
} else {
dpLinkFailReport();
}
}
}
private void ClickReport() {
if (adBean.isClickReport()){
return;
}
adBean.setClickReport(true);
//点击上报
if (adBean.getClickUrl().size() > 0) {
for (int i = 0; i < adBean.getClickUrl().size(); i++) {
String clickReport = adBean.getClickUrl().get(i);
clickReport.replace("__RE_DOWN_X__", downX + "");//手指按下时相对于广告位左上角的横坐标
clickReport.replace("__RE_DOWN_Y__", downY + "");//手指按下时相对于广告位左上角的纵坐标
clickReport.replace("__RE_UP_X__", upX + "");//手指抬起时相对于广告位左上角的横坐标
clickReport.replace("__RE_UP_Y__", upY + "");//手指抬起时相对于广告位左上角的纵坐标
clickReport.replace("__DOWN_X__", downRawX + "");//手指按下时相对于屏幕左上角的横坐标
clickReport.replace("__DOWN_Y__", downRawY + "");//手指按下时相对于屏幕左上角的纵坐标
clickReport.replace("__UP_X__", upRawX + "");//手指抬起时相对于屏幕左上角的横坐标
clickReport.replace("__UP_Y__", upRawY + "");//手指抬起时相对于屏幕左上角的纵坐标
clickReport.replace("__UTC_TS__", System.currentTimeMillis() + "");//客户端触发时间戳,自 1970 年起的毫秒 ,13 位
clickReport.replace("__UTC_TS_SECOND__", System.currentTimeMillis() / 1000 + "");//客户端触发时间戳,自 1970 年起的秒 ,10 位
clickReport.replace("__WIDTH__", "-999");//实际广告位的宽,单位为像素
clickReport.replace("__HEIGHT__", "-999");//实际广告位的高,单位为像素
clickReport.replace("__LATITUDE__", "-999");//地理位置信息, 纬度
clickReport.replace("__LONGITUDE__", "-999");//地理位置信息, 经度
HttpClientUtils.GetEvent(clickReport);
}
}
}
private void ShowReport() {
if (adBean.isShowReport()){
return;
}
adBean.setShowReport(true);
//曝光上报
if (adBean.getMonitorUrl().size() > 0) {
for (int i = 0; i < adBean.getMonitorUrl().size(); i++) {
String showReport = adBean.getMonitorUrl().get(i);
showReport.replace("__RE_DOWN_X__", downX + "");//手指按下时相对于广告位左上角的横坐标
showReport.replace("__RE_DOWN_Y__", downY + "");//手指按下时相对于广告位左上角的纵坐标
showReport.replace("__RE_UP_X__", upX + "");//手指抬起时相对于广告位左上角的横坐标
showReport.replace("__RE_UP_Y__", upY + "");//手指抬起时相对于广告位左上角的纵坐标
showReport.replace("__DOWN_X__", downRawX + "");//手指按下时相对于屏幕左上角的横坐标
showReport.replace("__DOWN_Y__", downRawY + "");//手指按下时相对于屏幕左上角的纵坐标
showReport.replace("__UP_X__", upRawX + "");//手指抬起时相对于屏幕左上角的横坐标
showReport.replace("__UP_Y__", upRawY + "");//手指抬起时相对于屏幕左上角的纵坐标
showReport.replace("__UTC_TS__", System.currentTimeMillis() + "");//客户端触发时间戳,自 1970 年起的毫秒 ,13 位
showReport.replace("__UTC_TS_SECOND__", System.currentTimeMillis() / 1000 + "");//客户端触发时间戳,自 1970 年起的秒 ,10 位
showReport.replace("__WIDTH__", "-999");//实际广告位的宽,单位为像素
showReport.replace("__HEIGHT__", "-999");//实际广告位的高,单位为像素
showReport.replace("__LATITUDE__", "-999");//地理位置信息, 纬度
showReport.replace("__LONGITUDE__", "-999");//地理位置信息, 经度
HttpClientUtils.GetEvent(showReport);
}
}
}
private void dpLinkSuccessReport() {
if (adBean.isClickDpLinkSucReport()){
return;
}
adBean.setClickDpLinkSucReport(true);
//唤醒成功上报
if (adBean.getDpSuccmonitorUrls() != null && adBean.getDpSuccmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getDpSuccmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getDpSuccmonitorUrls().get(i));
}
}
}
private void dpLinkFailReport() {
if (adBean.isClickDpLinkfailReport()){
return;
}
adBean.setClickDpLinkfailReport(true);
//唤醒失败上报
if (adBean.getDpFailmonitorUrls() != null && adBean.getDpFailmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getDpFailmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getDpFailmonitorUrls().get(i));
}
}
}
private HcAdBean jsonToObj(String jsonString) {
HcAdBean adBean = null;
try {
JSONObject root = new JSONObject(jsonString);
adBean = new HcAdBean();
adBean.setHeight(root.optInt("height"));
adBean.setWidth(root.optInt("width"));
//曝光
JSONArray monitorUrl = root.optJSONArray("monitorUrl");
List<String> monitorList = new ArrayList<String>();
if (monitorUrl != null) {
for (int i = 0; i < monitorUrl.length(); i++) {
monitorList.add(monitorUrl.optString(i));
}
}
adBean.setMonitorUrl(monitorList);
//点击
JSONArray clickUrl = root.optJSONArray("clickUrl");
List<String> clickList = new ArrayList<String>();
if (clickUrl != null) {
for (int i = 0; i < clickUrl.length(); i++) {
clickList.add(clickUrl.optString(i));
}
}
adBean.setClickUrl(clickList);
//图片
JSONArray srcUrl = root.optJSONArray("srcUrls");
List<String> srcList = new ArrayList<String>();
if (srcUrl != null) {
for (int i = 0; i < srcUrl.length(); i++) {
srcList.add(srcUrl.optString(i));
}
}
adBean.setSrcUrls(srcList);
//落地页
JSONArray dUrl = root.optJSONArray("dUrl");
List<String> dList = new ArrayList<String>();
if (dUrl != null) {
for (int i = 0; i < dUrl.length(); i++) {
dList.add(dUrl.optString(i));
}
}
adBean.setDUrl(dList);
adBean.setPid(root.optString("pid"));
adBean.setCid(root.optInt("cid"));
adBean.setPlan_id(root.optInt("plan_id"));
adBean.setTarget_type(root.optString("target_type"));
adBean.setAd_show_type(root.optInt("ad_show_type"));
adBean.setFrom(root.optString("from"));
adBean.setReq_id(root.optString("req_id"));
adBean.setApp_name(root.optString("app_name"));
adBean.setPackage_name(root.optString("package_name"));
adBean.setDown_url(root.optString("down_url"));
adBean.setTitle(root.optString("title"));
adBean.setContent(root.optString("content"));
adBean.setDeeplink(root.optString("deeplink"));
JSONArray startInstallmonitorUrl = root.optJSONArray("startInstallmonitorUrls");
List<String> startInstallmonitorUrlList = new ArrayList<String>();
if (startInstallmonitorUrl != null) {
for (int i = 0; i < startInstallmonitorUrl.length(); i++) {
startInstallmonitorUrlList.add(startInstallmonitorUrl.optString(i));
}
}
adBean.setStartInstallmonitorUrls(startInstallmonitorUrlList);
JSONArray finishInstallmonitorUrl = root.optJSONArray("finishInstallmonitorUrls");
List<String> finishInstallmonitorList = new ArrayList<String>();
if (finishInstallmonitorUrl != null) {
for (int i = 0; i < finishInstallmonitorUrl.length(); i++) {
finishInstallmonitorList.add(finishInstallmonitorUrl.optString(i));
}
}
adBean.setFinishInstallmonitorUrls(finishInstallmonitorList);
JSONArray startdownloadmonitorUrl = root.optJSONArray("startdownloadmonitorUrls");
List<String> startInstallmonitorList = new ArrayList<String>();
if (startdownloadmonitorUrl != null) {
for (int i = 0; i < startdownloadmonitorUrl.length(); i++) {
startInstallmonitorList.add(startdownloadmonitorUrl.optString(i));
}
}
adBean.setStartdownloadmonitorUrls(startInstallmonitorList);
JSONArray finishdownloadmonitorUrl = root.optJSONArray("finishdownloadmonitorUrls");
List<String> finishdownloadmonitorlList = new ArrayList<String>();
if (finishdownloadmonitorUrl != null) {
for (int i = 0; i < finishdownloadmonitorUrl.length(); i++) {
finishdownloadmonitorlList.add(finishdownloadmonitorUrl.optString(i));
}
}
adBean.setFinishdownloadmonitorUrls(finishdownloadmonitorlList);
JSONArray activemonitorUrl = root.optJSONArray("activemonitorUrls");
List<String> activemonitorList = new ArrayList<String>();
if (activemonitorUrl != null) {
for (int i = 0; i < activemonitorUrl.length(); i++) {
activemonitorList.add(activemonitorUrl.optString(i));
}
}
adBean.setActivemonitorUrls(activemonitorList);
JSONArray dpSuccmonitorUrl = root.optJSONArray("dpSuccmonitorUrls");
List<String> dpSuccmonitorList = new ArrayList<String>();
if (dpSuccmonitorUrl != null) {
for (int i = 0; i < dpSuccmonitorUrl.length(); i++) {
dpSuccmonitorList.add(dpSuccmonitorUrl.optString(i));
}
}
adBean.setDpSuccmonitorUrls(dpSuccmonitorList);
JSONArray dpFailmonitorUrl = root.optJSONArray("dpFailmonitorUrls");
List<String> dpFailmonitorList = new ArrayList<String>();
if (dpFailmonitorUrl != null) {
for (int i = 0; i < dpFailmonitorUrl.length(); i++) {
dpFailmonitorList.add(dpFailmonitorUrl.optString(i));
}
}
adBean.setDpFailmonitorUrls(dpFailmonitorList);
} catch (JSONException e) {
e.printStackTrace();
}
return adBean;
}
}
package com.ym.zxhcsdk.view;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.ym.zxhcsdk.DownLoadUtils;
import com.ym.zxhcsdk.HcAdBean;
import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.R;
import com.ym.zxhcsdk.ZXHCConstant;
import com.ym.zxhcsdk.listener.SplashAdListener;
import com.ym.zxhcsdk.manager.ZXHCAdViewManager;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ZXHCSplashAD {
private Activity context;
private String codeId;
private SplashAdListener listener;
private int fetchDelay;
public ZXHCSplashAD(Activity context, String codeId, SplashAdListener listener, int fetchDelay) {
this.context = context;
this.codeId = codeId;
this.listener = listener;
this.fetchDelay = fetchDelay;
}
// private ConcurrentLinkedQueue<HcAdBean> splashAdBean = new ConcurrentLinkedQueue<>();
// private ConcurrentLinkedQueue<Bitmap> splashBitmap = new ConcurrentLinkedQueue<>();
private HcAdBean adBean;
private Bitmap bitmapImg;
//只获取广告
public void fetchAdOnly() {
Map<String, String> map = new HashMap<>();
map.put("pid", codeId);
map.put("type", "api");
map.put("ad_type", "3");
map.put("ad_w", ZXHCConstant.device_width);
map.put("ad_h", ZXHCConstant.device_height);
HttpClientUtils.get(ZXHCConstant.BASE_URL, map, new HttpClientUtils.OnRequestCallBack() {
@Override
public void onSuccess(String json) {
// Gson jsons = new Gson();
// HcAdBean adBean = jsons.fromJson(json, HcAdBean.class);
adBean = jsonToObj(json);
adBean.setShowReport(false);
adBean.setClickReport(false);
adBean.setClickDpLinkSucReport(false);
adBean.setClickDpLinkfailReport(false);
Log.d("wxw", "ad.getSrcUrls().size()" + adBean.getSrcUrls().size());
if (adBean.getSrcUrls().size() > 0) {
HttpClientUtils.LoadImg(adBean.getSrcUrls().get(0), new HttpClientUtils.OnRequestImgCallBack() {
@Override
public void onSuccess(Bitmap bitmap) {
bitmapImg = bitmap;
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnAdLoaded();
// ViewGroup vp = ZXHCAdViewManager.getInstance().newFrameLayout(context);
// ZXHCAdViewManager.getInstance().showAdView(context, vp, false);
// showAd(vp);
}
});
}
@Override
public void onError(String errorMsg) {
listener.OnError(errorMsg);
Log.d("wxw", "bitmaperrorMsg" + errorMsg);
}
});
}
}
@Override
public void onError(String errorMsg) {
listener.OnError(errorMsg);
Log.d("wxw", "errorMsg" + errorMsg);
}
});
}
private int SPLASH_CODE = 1000;
private int delayTime;
private TextView jumpTv;
private Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(@NonNull Message msg) {
if (msg.what == SPLASH_CODE) {
delayTime--;
context.runOnUiThread(new Runnable() {
@Override
public void run() {
if (delayTime > 0) {
mHandler.sendEmptyMessageDelayed(SPLASH_CODE, 1000);
jumpTv.setText(delayTime + "");
} else {
jumpTv.setText("跳过");
if (delayTime <= 0) {
listener.OnAdClosed();
if (splashView!=null){
ZXHCAdViewManager.getInstance().removeAdView(context, splashView);
}
mHandler.removeMessages(SPLASH_CODE);
}
}
}
});
return true;
}
return false;
}
});
private int downX = -999, downY = -999, downRawX = -999, downRawY = -999, upX = -999, upY = -999, upRawX = -999, upRawY = -999;
private ViewGroup splashView;
public void showAd(ViewGroup vp) {
splashView = vp;
Log.d("wxw", "showAd");
context.runOnUiThread(new Runnable() {
@SuppressLint("ClickableViewAccessibility")
@Override
public void run() {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.hc_splash_ad, null);
ImageView splashImg = view.findViewById(R.id.ad_id_hc_Splash_img);
jumpTv = view.findViewById(R.id.ad_id_jump_text);
splashImg.setImageBitmap(bitmapImg);
delayTime = fetchDelay + 1;
jumpTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (delayTime <= 0) {
listener.OnAdClosed();
ZXHCAdViewManager.getInstance().removeAdView(context, vp);
mHandler.removeMessages(SPLASH_CODE);
}
}
});
splashImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.OnAdClicked();
SplashAdClick(adBean);
ClickReport(adBean);
Log.d("WXW", "点击了");
}
});
splashImg.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = (int) event.getX();
downY = (int) event.getY();
downRawX = (int) event.getRawX();
downRawY = (int) event.getRawY();
//Log.e("WXW", "downX = " + downX + "; downY = " + downY + "; downRawX = " + downRawX + "; downRawY = " + downRawY);
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
upX = (int) event.getX();
upY = (int) event.getY();
upRawX = (int) event.getRawX();
upRawY = (int) event.getRawY();
//Log.e("WXW", "upX = " + upX + "; upY = " + upY + "; upRawX = " + upRawX + "; upRawY = " + upRawY);
break;
}
return false;
}
});
mHandler.sendEmptyMessage(SPLASH_CODE);
view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View v) {
ShowReport(adBean);
listener.OnAdShow();
}
@Override
public void onViewDetachedFromWindow(View v) {
}
});
vp.addView(view);
}
});
}
private void SplashAdClick(HcAdBean adBean) {
boolean IsSuccess = true;
if (TextUtils.isEmpty(adBean.getDeeplink())) {
if (!TextUtils.isEmpty(adBean.getTarget_type())) {
if (adBean.getTarget_type().equals("0")) {//0:网页跳转 1:下载类应用(默认值 0)
if (adBean.getDUrl() != null && adBean.getDUrl().size() > 0) {
Uri uri = Uri.parse(adBean.getDUrl().get(0));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
}
} else if (adBean.getTarget_type().equals("1")) {
DownLoadApk();
}
}
} else {
try {
Uri uri = Uri.parse(adBean.getDeeplink().trim());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (Exception e) {
IsSuccess = false;
if (!TextUtils.isEmpty(adBean.getTarget_type())) {
if (adBean.getTarget_type().equals("0")) {//0:网页跳转 1:下载类应用(默认值 0)
if (adBean.getDUrl() != null && adBean.getDUrl().size() > 0) {
Uri uri = Uri.parse(adBean.getDUrl().get(0));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
}
} else if (adBean.getTarget_type().equals("1")) {
DownLoadApk();
}
}
}
if (IsSuccess) {
dpLinkSuccessReport(adBean);
} else {
dpLinkFailReport(adBean);
}
}
}
private void ShowReport(HcAdBean adBean) {
if (adBean.isShowReport()) {
return;
}
adBean.setShowReport(true);
//曝光上报
if (adBean.getMonitorUrl().size() > 0) {
for (int i = 0; i < adBean.getMonitorUrl().size(); i++) {
String showReport = adBean.getMonitorUrl().get(i);
showReport.replace("__RE_DOWN_X__", downX + "");//手指按下时相对于广告位左上角的横坐标
showReport.replace("__RE_DOWN_Y__", downY + "");//手指按下时相对于广告位左上角的纵坐标
showReport.replace("__RE_UP_X__", upX + "");//手指抬起时相对于广告位左上角的横坐标
showReport.replace("__RE_UP_Y__", upY + "");//手指抬起时相对于广告位左上角的纵坐标
showReport.replace("__DOWN_X__", downRawX + "");//手指按下时相对于屏幕左上角的横坐标
showReport.replace("__DOWN_Y__", downRawY + "");//手指按下时相对于屏幕左上角的纵坐标
showReport.replace("__UP_X__", upRawX + "");//手指抬起时相对于屏幕左上角的横坐标
showReport.replace("__UP_Y__", upRawY + "");//手指抬起时相对于屏幕左上角的纵坐标
showReport.replace("__UTC_TS__", System.currentTimeMillis() + "");//客户端触发时间戳,自 1970 年起的毫秒 ,13 位
showReport.replace("__UTC_TS_SECOND__", System.currentTimeMillis() / 1000 + "");//客户端触发时间戳,自 1970 年起的秒 ,10 位
showReport.replace("__WIDTH__", "-999");//实际广告位的宽,单位为像素
showReport.replace("__HEIGHT__", "-999");//实际广告位的高,单位为像素
showReport.replace("__LATITUDE__", "-999");//地理位置信息, 纬度
showReport.replace("__LONGITUDE__", "-999");//地理位置信息, 经度
HttpClientUtils.GetEvent(showReport);
}
}
}
private void ClickReport(HcAdBean adBean) {
if (adBean.isClickReport()) {
return;
}
adBean.setClickReport(true);
//点击上报
if (adBean.getClickUrl().size() > 0) {
for (int i = 0; i < adBean.getClickUrl().size(); i++) {
String clickReport = adBean.getClickUrl().get(i);
clickReport.replace("__RE_DOWN_X__", downX + "");//手指按下时相对于广告位左上角的横坐标
clickReport.replace("__RE_DOWN_Y__", downY + "");//手指按下时相对于广告位左上角的纵坐标
clickReport.replace("__RE_UP_X__", upX + "");//手指抬起时相对于广告位左上角的横坐标
clickReport.replace("__RE_UP_Y__", upY + "");//手指抬起时相对于广告位左上角的纵坐标
clickReport.replace("__DOWN_X__", downRawX + "");//手指按下时相对于屏幕左上角的横坐标
clickReport.replace("__DOWN_Y__", downRawY + "");//手指按下时相对于屏幕左上角的纵坐标
clickReport.replace("__UP_X__", upRawX + "");//手指抬起时相对于屏幕左上角的横坐标
clickReport.replace("__UP_Y__", upRawY + "");//手指抬起时相对于屏幕左上角的纵坐标
clickReport.replace("__UTC_TS__", System.currentTimeMillis() + "");//客户端触发时间戳,自 1970 年起的毫秒 ,13 位
clickReport.replace("__UTC_TS_SECOND__", System.currentTimeMillis() / 1000 + "");//客户端触发时间戳,自 1970 年起的秒 ,10 位
clickReport.replace("__WIDTH__", "-999");//实际广告位的宽,单位为像素
clickReport.replace("__HEIGHT__", "-999");//实际广告位的高,单位为像素
clickReport.replace("__LATITUDE__", "-999");//地理位置信息, 纬度
clickReport.replace("__LONGITUDE__", "-999");//地理位置信息, 经度
HttpClientUtils.GetEvent(clickReport);
}
}
}
private void dpLinkSuccessReport(HcAdBean adBean) {
if (adBean.isClickDpLinkSucReport()) {
return;
}
adBean.setClickDpLinkSucReport(true);
//唤醒成功上报
if (adBean.getDpSuccmonitorUrls() != null && adBean.getDpSuccmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getDpSuccmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getDpSuccmonitorUrls().get(i));
}
}
}
private void dpLinkFailReport(HcAdBean adBean) {
if (adBean.isClickDpLinkfailReport()) {
return;
}
adBean.setClickDpLinkfailReport(true);
//唤醒失败上报
if (adBean.getDpFailmonitorUrls() != null && adBean.getDpFailmonitorUrls().size() > 0) {
for (int i = 0; i < adBean.getDpFailmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(adBean.getDpFailmonitorUrls().get(i));
}
}
}
private void DownLoadApk() {
new DownLoadUtils(context).downloadAPK(adBean);
}
private HcAdBean jsonToObj(String jsonString) {
HcAdBean adBean = null;
try {
JSONObject root = new JSONObject(jsonString);
adBean = new HcAdBean();
adBean.setHeight(root.optInt("height"));
adBean.setWidth(root.optInt("width"));
//曝光
JSONArray monitorUrl = root.optJSONArray("monitorUrl");
List<String> monitorList = new ArrayList<String>();
if (monitorUrl != null) {
for (int i = 0; i < monitorUrl.length(); i++) {
monitorList.add(monitorUrl.optString(i));
}
}
adBean.setMonitorUrl(monitorList);
//点击
JSONArray clickUrl = root.optJSONArray("clickUrl");
List<String> clickList = new ArrayList<String>();
if (clickUrl != null) {
for (int i = 0; i < clickUrl.length(); i++) {
clickList.add(clickUrl.optString(i));
}
}
adBean.setClickUrl(clickList);
//图片
JSONArray srcUrl = root.optJSONArray("srcUrls");
List<String> srcList = new ArrayList<String>();
if (srcUrl != null) {
for (int i = 0; i < srcUrl.length(); i++) {
srcList.add(srcUrl.optString(i));
}
}
adBean.setSrcUrls(srcList);
//落地页
JSONArray dUrl = root.optJSONArray("dUrl");
List<String> dList = new ArrayList<String>();
if (dUrl != null) {
for (int i = 0; i < dUrl.length(); i++) {
dList.add(dUrl.optString(i));
}
}
adBean.setDUrl(dList);
adBean.setPid(root.optString("pid"));
adBean.setCid(root.optInt("cid"));
adBean.setPlan_id(root.optInt("plan_id"));
adBean.setTarget_type(root.optString("target_type"));
adBean.setAd_show_type(root.optInt("ad_show_type"));
adBean.setFrom(root.optString("from"));
adBean.setReq_id(root.optString("req_id"));
adBean.setApp_name(root.optString("app_name"));
adBean.setPackage_name(root.optString("package_name"));
adBean.setDown_url(root.optString("down_url"));
adBean.setTitle(root.optString("title"));
adBean.setContent(root.optString("content"));
adBean.setDeeplink(root.optString("deeplink"));
JSONArray startInstallmonitorUrl = root.optJSONArray("startInstallmonitorUrls");
List<String> startInstallmonitorUrlList = new ArrayList<String>();
if (startInstallmonitorUrl != null) {
for (int i = 0; i < startInstallmonitorUrl.length(); i++) {
startInstallmonitorUrlList.add(startInstallmonitorUrl.optString(i));
}
}
adBean.setStartInstallmonitorUrls(startInstallmonitorUrlList);
JSONArray finishInstallmonitorUrl = root.optJSONArray("finishInstallmonitorUrls");
List<String> finishInstallmonitorList = new ArrayList<String>();
if (finishInstallmonitorUrl != null) {
for (int i = 0; i < finishInstallmonitorUrl.length(); i++) {
finishInstallmonitorList.add(finishInstallmonitorUrl.optString(i));
}
}
adBean.setFinishInstallmonitorUrls(finishInstallmonitorList);
JSONArray startdownloadmonitorUrl = root.optJSONArray("startdownloadmonitorUrls");
List<String> startInstallmonitorList = new ArrayList<String>();
if (startdownloadmonitorUrl != null) {
for (int i = 0; i < startdownloadmonitorUrl.length(); i++) {
startInstallmonitorList.add(startdownloadmonitorUrl.optString(i));
}
}
adBean.setStartdownloadmonitorUrls(startInstallmonitorList);
JSONArray finishdownloadmonitorUrl = root.optJSONArray("finishdownloadmonitorUrls");
List<String> finishdownloadmonitorlList = new ArrayList<String>();
if (finishdownloadmonitorUrl != null) {
for (int i = 0; i < finishdownloadmonitorUrl.length(); i++) {
finishdownloadmonitorlList.add(finishdownloadmonitorUrl.optString(i));
}
}
adBean.setFinishdownloadmonitorUrls(finishdownloadmonitorlList);
JSONArray activemonitorUrl = root.optJSONArray("activemonitorUrls");
List<String> activemonitorList = new ArrayList<String>();
if (activemonitorUrl != null) {
for (int i = 0; i < activemonitorUrl.length(); i++) {
activemonitorList.add(activemonitorUrl.optString(i));
}
}
adBean.setActivemonitorUrls(activemonitorList);
JSONArray dpSuccmonitorUrl = root.optJSONArray("dpSuccmonitorUrls");
List<String> dpSuccmonitorList = new ArrayList<String>();
if (dpSuccmonitorUrl != null) {
for (int i = 0; i < dpSuccmonitorUrl.length(); i++) {
dpSuccmonitorList.add(dpSuccmonitorUrl.optString(i));
}
}
adBean.setDpSuccmonitorUrls(dpSuccmonitorList);
JSONArray dpFailmonitorUrl = root.optJSONArray("dpFailmonitorUrls");
List<String> dpFailmonitorList = new ArrayList<String>();
if (dpFailmonitorUrl != null) {
for (int i = 0; i < dpFailmonitorUrl.length(); i++) {
dpFailmonitorList.add(dpFailmonitorUrl.optString(i));
}
}
adBean.setDpFailmonitorUrls(dpFailmonitorList);
} catch (JSONException e) {
e.printStackTrace();
}
return adBean;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:paddingRight="10dp">
<TextView
android:id="@+id/id_ad_feed_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#000000"
android:textSize="20dp" />
<ImageView
android:id="@+id/id_ad_feed_img"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
<LinearLayout
android:layout_width="match_parent"
android:gravity="center_vertical"
android:layout_height="wrap_content">
<TextView
android:id="@+id/id_ad_feed_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="aaaaaaaaa"
android:layout_weight="1"
android:textColor="#000000"
android:textSize="16dp" />
<ImageView
android:id="@+id/id_ad_feed_close"
android:layout_width="wrap_content"
android:src="@mipmap/feedad_close"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ad_id_hc_Splash_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
<TextView
android:id="@+id/ad_id_jump_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="24dp"
android:layout_marginRight="20dp"
android:background="@mipmap/btn"
android:gravity="center"
android:text=""
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<paths>
<!--<external-path name="external_files" path="."/>-->
<external-files-path name="external_files_path" path="Download" />
</paths>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" overridePins="true" /> <!--信任系统证书-->
<certificates src="user" overridePins="true" /> <!--信任用户证书-->
</trust-anchors>
</base-config>
</network-security-config>
\ No newline at end of file
package com.ym.zxhcsdk;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment