From 3fe23c715ab4b54f0f5bb3bbc8038d06509171c4 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Mon, 9 Jul 2018 14:59:53 -0400 Subject: [PATCH 1/2] #132 Fixed Plugin for viewing the application BuildConfig values --- README.md | 2 + hyperion-build-config/.gitignore | 1 + hyperion-build-config/README.md | 10 +++ hyperion-build-config/build.gradle | 35 +++++++++ .../src/main/AndroidManifest.xml | 11 +++ .../buildconfig/BuildConfigPlugin.java | 18 +++++ .../buildconfig/BuildConfigPluginModule.java | 28 ++++++++ .../list/BuildConfigListActivity.java | 68 ++++++++++++++++++ .../list/BuildConfigListAdapter.java | 41 +++++++++++ .../list/BuildConfigViewHolder.java | 26 +++++++ .../buildconfig/model/BuildConfigValue.java | 29 ++++++++ .../src/main/res/drawable-hdpi/hbc_icon.png | Bin 0 -> 1810 bytes .../src/main/res/drawable-mdpi/hbc_icon.png | Bin 0 -> 975 bytes .../src/main/res/drawable-xhdpi/hbc_icon.png | Bin 0 -> 2002 bytes .../src/main/res/drawable-xxhdpi/hbc_icon.png | Bin 0 -> 3182 bytes .../main/res/drawable-xxxhdpi/hbc_icon.png | Bin 0 -> 4490 bytes .../layout/hbc_activity_build_config_list.xml | 32 +++++++++ .../src/main/res/layout/hbc_item_plugin.xml | 46 ++++++++++++ .../src/main/res/layout/hbc_value_row.xml | 43 +++++++++++ .../src/main/res/values-v17/styles.xml | 9 +++ .../src/main/res/values/colors.xml | 6 ++ .../src/main/res/values/strings.xml | 6 ++ .../src/main/res/values/styles.xml | 20 ++++++ hyperion-sample/build.gradle | 1 + hyperion-sample/proguard-rules.pro | 2 + settings.gradle | 3 +- 26 files changed, 436 insertions(+), 1 deletion(-) create mode 100644 hyperion-build-config/.gitignore create mode 100644 hyperion-build-config/README.md create mode 100644 hyperion-build-config/build.gradle create mode 100644 hyperion-build-config/src/main/AndroidManifest.xml create mode 100644 hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPlugin.java create mode 100644 hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPluginModule.java create mode 100644 hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java create mode 100644 hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListAdapter.java create mode 100644 hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigViewHolder.java create mode 100644 hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/model/BuildConfigValue.java create mode 100644 hyperion-build-config/src/main/res/drawable-hdpi/hbc_icon.png create mode 100644 hyperion-build-config/src/main/res/drawable-mdpi/hbc_icon.png create mode 100644 hyperion-build-config/src/main/res/drawable-xhdpi/hbc_icon.png create mode 100644 hyperion-build-config/src/main/res/drawable-xxhdpi/hbc_icon.png create mode 100644 hyperion-build-config/src/main/res/drawable-xxxhdpi/hbc_icon.png create mode 100644 hyperion-build-config/src/main/res/layout/hbc_activity_build_config_list.xml create mode 100644 hyperion-build-config/src/main/res/layout/hbc_item_plugin.xml create mode 100644 hyperion-build-config/src/main/res/layout/hbc_value_row.xml create mode 100644 hyperion-build-config/src/main/res/values-v17/styles.xml create mode 100644 hyperion-build-config/src/main/res/values/colors.xml create mode 100644 hyperion-build-config/src/main/res/values/strings.xml create mode 100644 hyperion-build-config/src/main/res/values/styles.xml diff --git a/README.md b/README.md index b798d880..c04f997f 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ debugImplementation 'com.willowtreeapps.hyperion:hyperion-crash:0.9.23' debugImplementation 'com.willowtreeapps.hyperion:hyperion-shared-preferences:0.9.23' debugImplementation 'com.willowtreeapps.hyperion:hyperion-geiger-counter:0.9.23' debugImplementation 'com.willowtreeapps.hyperion:hyperion-timber:0.9.23' +debugImplementation 'com.willowtreeapps.hyperion:hyperion-build-config:0.9.23' ``` ## Adding Plugins @@ -94,6 +95,7 @@ The following is a list of all plugins that integrate with Hyperion. Please make - [Hyperion-Geiger-Counter](https://github.com/willowtreeapps/Hyperion-Android/tree/develop/hyperion-geiger-counter) - Check animation performance by listening for dropped frames. Please turn up the media volume. Haptic feedback is also supported. Inspired by [KMCGeigerCounter](https://github.com/kconner/KMCGeigerCounter). - [Hyperion-Timber](https://github.com/willowtreeapps/Hyperion-Android/tree/develop/hyperion-timber) - View Timber recorded log messages. - [Hyperion-Shared-Preferences](https://github.com/willowtreeapps/Hyperion-Android/tree/develop/hyperion-shared-preferences) - View and edit your app\'s key-value storage. +- [Hyperion-Build-Config](https://github.com/willowtreeapps/Hyperion-Android/tree/develop/hyperion-build-config) - View application BuildConfig values. ## License Hyperion is available under the MIT license. See the LICENSE file for more info. diff --git a/hyperion-build-config/.gitignore b/hyperion-build-config/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/hyperion-build-config/.gitignore @@ -0,0 +1 @@ +/build diff --git a/hyperion-build-config/README.md b/hyperion-build-config/README.md new file mode 100644 index 00000000..c2ee2803 --- /dev/null +++ b/hyperion-build-config/README.md @@ -0,0 +1,10 @@ +# Build Config +Plugin for viewing the BuildConfig values of the application. + +## Notes +If minification is enabled for your debug builds, you will likely want to update proguard to keep your BuildConfig class. + +Update to match your package name. +``` +-keep class com.willowtreeapps.hyperion.sample.BuildConfig { *; } +``` diff --git a/hyperion-build-config/build.gradle b/hyperion-build-config/build.gradle new file mode 100644 index 00000000..dc3d5d27 --- /dev/null +++ b/hyperion-build-config/build.gradle @@ -0,0 +1,35 @@ +apply plugin: 'com.android.library' +apply from: '../publish.gradle' + +group = project.libraryGroup +version = project.libraryVersion + +android { + compileSdkVersion project.compileSdkVersion + buildToolsVersion project.buildToolsVersion + + defaultConfig { + minSdkVersion project.minSdkVersion + targetSdkVersion project.targetSdkVersion + versionCode buildVersionCode() + versionName version + + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + + lintOptions { + abortOnError false + } + + resourcePrefix 'hbc_' +} + +dependencies { + testImplementation "junit:junit:4.12" + api project(':hyperion-plugin') + implementation "com.android.support:appcompat-v7:${project.versionSupportLibrary}" + annotationProcessor "com.google.auto.service:auto-service:${project.versionAutoService}" + implementation "com.android.support:recyclerview-v7:${project.versionSupportLibrary}" + implementation "com.android.support:design:${project.versionSupportLibrary}" + implementation 'com.android.support.constraint:constraint-layout:1.1.2' +} \ No newline at end of file diff --git a/hyperion-build-config/src/main/AndroidManifest.xml b/hyperion-build-config/src/main/AndroidManifest.xml new file mode 100644 index 00000000..9a5953e1 --- /dev/null +++ b/hyperion-build-config/src/main/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPlugin.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPlugin.java new file mode 100644 index 00000000..3d7ba621 --- /dev/null +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPlugin.java @@ -0,0 +1,18 @@ +package com.willowtreeapps.hyperion.buildconfig; + +import android.support.annotation.Nullable; + +import com.google.auto.service.AutoService; +import com.willowtreeapps.hyperion.plugin.v1.Plugin; +import com.willowtreeapps.hyperion.plugin.v1.PluginModule; + +@AutoService(Plugin.class) +public class BuildConfigPlugin extends Plugin { + + @Nullable + @Override + public PluginModule createPluginModule() { + return new BuildConfigPluginModule(); + } + +} diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPluginModule.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPluginModule.java new file mode 100644 index 00000000..ecc28063 --- /dev/null +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/BuildConfigPluginModule.java @@ -0,0 +1,28 @@ +package com.willowtreeapps.hyperion.buildconfig; + +import android.content.Intent; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.willowtreeapps.hyperion.buildconfig.list.BuildConfigListActivity; +import com.willowtreeapps.hyperion.plugin.v1.PluginModule; + +class BuildConfigPluginModule extends PluginModule implements View.OnClickListener { + + @Nullable + @Override + public View createPluginView(@NonNull LayoutInflater layoutInflater, @NonNull ViewGroup parent) { + View view = layoutInflater.inflate(R.layout.hbc_item_plugin, parent, false); + view.setOnClickListener(this); + return view; + } + + @Override + public void onClick(View v) { + Intent intent = new Intent(getContext(), BuildConfigListActivity.class); + getContext().startActivity(intent); + } +} \ No newline at end of file diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java new file mode 100644 index 00000000..9c47bd05 --- /dev/null +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java @@ -0,0 +1,68 @@ +package com.willowtreeapps.hyperion.buildconfig.list; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.util.Log; + +import com.willowtreeapps.hyperion.buildconfig.R; +import com.willowtreeapps.hyperion.buildconfig.model.BuildConfigValue; +import com.willowtreeapps.hyperion.plugin.v1.HyperionIgnore; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.LinkedList; +import java.util.List; + +@HyperionIgnore +public class BuildConfigListActivity extends AppCompatActivity { + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.hbc_activity_build_config_list); + setSupportActionBar((Toolbar) findViewById(R.id.tmb_toolbar)); + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } + + RecyclerView recyclerView = findViewById(R.id.hbc_recycler); + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + recyclerView.setAdapter(new BuildConfigListAdapter(getBuildConfigValues())); + } + + @Override + public boolean onSupportNavigateUp() { + onBackPressed(); + return true; + } + + private List getBuildConfigValues() { + List buildConfigValues = new LinkedList<>(); + try { + Class buildConfigClass = Class.forName(getPackageName() + ".BuildConfig"); + Log.d("BuildConfig", "Checking BuildConfig " + buildConfigClass.getName()); + Field[] declaredFields = buildConfigClass.getDeclaredFields(); + for (Field declaredField : declaredFields) { + Log.d("BuildConfig", "Inspecting " + declaredField.toString()); + if (Modifier.isStatic(declaredField.getModifiers())) { + Class fieldType = declaredField.getType(); + String name = declaredField.getName() + " (" + fieldType.getSimpleName() + ")"; + String value = declaredField.get(null).toString(); + buildConfigValues.add(new BuildConfigValue(name, value)); + } + } + } catch (Exception e) { + Log.e("BuildConfig", "Failed to read BuildConfig"); + e.printStackTrace(); + } + + return buildConfigValues; + } + +} \ No newline at end of file diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListAdapter.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListAdapter.java new file mode 100644 index 00000000..149827e4 --- /dev/null +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListAdapter.java @@ -0,0 +1,41 @@ +package com.willowtreeapps.hyperion.buildconfig.list; + +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.willowtreeapps.hyperion.buildconfig.R; +import com.willowtreeapps.hyperion.buildconfig.model.BuildConfigValue; + +import java.util.ArrayList; +import java.util.List; + +class BuildConfigListAdapter extends RecyclerView.Adapter { + + private final List buildConfigValues; + + BuildConfigListAdapter(List buildConfigValues) { + this.buildConfigValues = new ArrayList<>(buildConfigValues); + } + + @NonNull + @Override + public BuildConfigViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + final View itemView = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.hbc_value_row, parent, false); + return new BuildConfigViewHolder(itemView); + } + + @Override + public void onBindViewHolder(@NonNull BuildConfigViewHolder holder, int position) { + BuildConfigValue buildConfigValue = buildConfigValues.get(position); + holder.bind(buildConfigValue); + } + + @Override + public int getItemCount() { + return buildConfigValues.size(); + } +} \ No newline at end of file diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigViewHolder.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigViewHolder.java new file mode 100644 index 00000000..416c40c1 --- /dev/null +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigViewHolder.java @@ -0,0 +1,26 @@ +package com.willowtreeapps.hyperion.buildconfig.list; + +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.TextView; + +import com.willowtreeapps.hyperion.buildconfig.R; +import com.willowtreeapps.hyperion.buildconfig.model.BuildConfigValue; + +class BuildConfigViewHolder extends RecyclerView.ViewHolder { + + private final TextView logDateTextView; + private final TextView logMsgTextView; + + BuildConfigViewHolder(View itemView) { + super(itemView); + logDateTextView = itemView.findViewById(R.id.hbc_name); + logMsgTextView = itemView.findViewById(R.id.hbc_value); + } + + void bind(BuildConfigValue buildConfigValue) { + logDateTextView.setText(buildConfigValue.getName()); + logMsgTextView.setText(buildConfigValue.getValue()); + } + +} \ No newline at end of file diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/model/BuildConfigValue.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/model/BuildConfigValue.java new file mode 100644 index 00000000..4ff3df16 --- /dev/null +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/model/BuildConfigValue.java @@ -0,0 +1,29 @@ +package com.willowtreeapps.hyperion.buildconfig.model; + +public class BuildConfigValue { + + private final String name; + private final String value; + + public BuildConfigValue(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return "BuildConfigValue{" + + "name='" + name + '\'' + + ", value='" + value + '\'' + + '}'; + } + +} diff --git a/hyperion-build-config/src/main/res/drawable-hdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-hdpi/hbc_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..81e72ece9344a8e995c1c80b7df1c20298a3712f GIT binary patch literal 1810 zcmV+t2krQYP)j{00001b5ch_0Itp) z=>Px*%t=H+RA>e5n@eb3MHI*Lj+)TKL~Sd!BCSwcaA7M{N)cRC8?2;0ip0-F-boi? zSL#9#6j4DC7v^bPm;{VMifv;eLb_3dnoXg#!3S7l>Vt$fCZ>6Q{?6x}kIBvVnET3i zu^G6TnKNh3oc}pz9^c%XtgP!eWjn#%+1YvL($doHIXO86PWrjw&CbrADJdzraO~Kz zIXC@H`WS)l>+8F5YHI3aG#Wi*BGgBoNn}+tH#dLdqs+LdoOmfk0pPD^0JvyWP6V83 zYirw;LOs__MxJkNZT$uC+tny2beZxgXp*N)Op$0x2CETSkMiuZs=tzNQ~en4Qf_YU zf%^LTaYgeZ&odFC1Bd_H!otEs)z#HkO!}Jg;N7hn_%;AHT0@fn4^E(8xe?>BH=zLWvJR904YoZ_dd4Fl|Eu|18EZc;R_xnuC9rKR6_9n_%z zBCGszd3pKM@P4KEF~9>WD=VK24-Xqftm>C6cMKk-7Lp0`i!PoQS+dRL=jR`xeo>Qs zcx-I!0}NrbUTOW-6di+KBOw3+z+&J_RW7x|=+d;8ob`fY|2F;qgjn^NLRW4I-dM)t%;{1kc$Z9`-sQ zPI_l)dluS?q7wn&Z+}eHo#dee4}eu+uLEKVe2f83C>q|+#Q-05baWh4G}Ank-~p4+ z^9mFOc$ca1rmACr8#n}=!T|Rwnn@l?@QLQU9SjC|3EGE>jsZ$Az#s;=OVQHhVFjO? zPH_wrCH!mQ8&bR&U@ND<&p8H{DO##Ll;8>by{VK|ZFql?Q{a=-M-`2HCkA*?t0ygn z20UK7rfK;cXZZWHdeS1Nz?q_=q6#A6CynVrt(>&z%NaSTbO#ND@HysetOtfDqAcj+Uc`75ucqF8t|OpP7&^ZD8rF-x zZN#KY4XRvIQ}Y)9o1!v&sm_a40XDhT#lC`MS^UT$b;IB$e1K&C+F zJgapDEBGkkc$7!(=;S#nG-(SEmyzhez_U-60Q7ydC`_P9p|lB4g0^)dd7kqC*g;qi zqVY~$Yrx6g95b#QK-kJ2k#?k4cJl9)?YHMrbw>ypmSj>KS zUM?6`0ThGd|{9ex1 z9(Xk#ntqQYpzx6V}rlzI=!gDV``*|)~PruNlO?WbyJcoTc z<*mcaQ&4jM#@4rA_*n}^AP70XEBt` zzt`$hC32;WEpwVk_*2PZN<`ruWi2_aXl`@Q;4R?YZWI87-mRA%Am(Lc3OyDL0B_cr zWJ*Zl*Wv*T5PyBG^O%+c-Rex0$P}Mv&*QCL%TtcSo)ErG^K6wRM{FU}D3;)9NfP#+ zye`5$gSX~t&wr{q{|n$vGPh-p(|gszhwL6sf%17uASvTvFWZ@bw4)Q6wAtx?);)XP zt1{L;9^sJl7U6w;9deZMtP@?}r#dyBJnaH>UyB4-xruA7_?3w!%f+b1ux+RrmhT%`h9^Zp6}Gha8vdS zo)cKo3rs?P;{r2*S2iv%6BuP(NuI+#owi}Vz;wLY^B%k)9pFr~&&|yxdLf!p702ND z0O0VjKgU=DQ}D5yM3Kt2^-fPu&&|dotOH|LSJ$oVEc*BN|CkJGI_Kph zzu32J?63Q#r>8G)32}zyd_Lt zKFWKzj3@M1qXSo8u^Z4e4K{*N*t24Pfxvn!dd=29bXD|x1$~E16kBz7oUQ|(i4{&v zOl)I*IbK=Q$@bb#1T6FQ$8UVC@wZo5*G2z-0dN`|1Sf+j%K!iX07*qoM6N<$g3JhO ALI3~& literal 0 HcmV?d00001 diff --git a/hyperion-build-config/src/main/res/drawable-mdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-mdpi/hbc_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c1cfa6034c9407ca1c0fc6f381afd6576c77224 GIT binary patch literal 975 zcmV;=12FuFP)Px&iAh93R9Fe^m_3LSK@`W6m@lG*CQ1rX5d;e>3!7^M3psK&f}WK^2+3Va@id}h zVRf8eWpYVOE*2IMyYu7_3&F<9S{o5WEF^xB+$Gs0{@;=D=7yc!?Cs1Qf(ygUyqS6L z$J?F%&aTJvk6d0EXSrNH((QK3Uaxm-Fc<`6^G315M*}_z*=+XaDD%zc_{@xCGYn$^ z)k(LIHnVOoqPi-fcG^0aE&t@Qb0Ni$CdV2aQY){Azzju*@OZ=Qs+EP%q*l8x&I<7VV zJBY<%Nz|_Z>P2}pKR-Xg&9QCTg4%kppU|Z#larI3Kp=1y&37n%z}Ab!;uwvMa%l$z zkikGwsnqXqIGjLcKf)gA^?HkdJ;uhZYVDwa`U^@R$z<{?Hqg@>#l zX-qpPVyxYI9wd{=d;sVflom3(A9}rvXLc_?M{I8e=!T3k07%qZw9li^_)%nbsa~(| zV&h`H6`=c&Ez>s}WNQgo%?zPVG#ZTuA|UH)1C7VyD}d_%eEv0jo&rFs)oP{Cw+pd7w>}sQUIf`QWcH^Wq20K)j8b6e z<`-1w>>zM12;*F^Vl~edD0XQO8{iHCuy^<4Xf%48-a=MEH#6o6lpyi^<+#8(*r!E4IlvNJ>4%=56?|sZ(@2KJO0AD#k!?Lo(R%9jQdeX z8AS#*9L(wnPfC`_~h8$ThB;XO&e$UOm5grY+PmSD5GNF;qIpFDbJu7%N3~T zjP-TMmKIPQvgHWWM4ng@#hSi6JrDz_Y+-Bxn=>gcl=YR!lgznF*>aRoQJ!RgI%LZc zs0>WB>yRxipgLsB6{rpw67LS{y8_iALkvu;9f6w2lbH<7jBY6i9{|p xn@#$yO`su}14Z^8;=BokLbhM8isI>W^9Qvmz&GquQmOy|002ovPDHLkV1nX2%M$Px+j7da6RCodHom*%fMHql{(%6Jl6HG;GZNtP0W>FVI3;MQjD7LJKt-3AwdM z>!sMf_@oqCDN224nv+Daru9Ln2->2QP*6k!Z)jesV!?`iu(2j2lwAG(ayHDFbM~B_ zvpd=Y`YGiwjVoo?4a#-^!klmo=#q&v(0KnxY$MV`?#L# z>FN1PEwhnk%DIDje^=_BBmEZVUPX2-NuT!a+`02jU2ZFHY@x+q*45SBN2fnn44B10 z0Bwf$U!m+|k@Ca5K%Xrlw<0nITBH~IIy*Z@i^vyKG!4}G<;$11)96{XVGJNMJ3IRh zp0!1l+e(K9DsFD8a|ZRwlBtHb`qa{;OP?b7y>@RM`455mkS32j8yaX_ZmyER3aXE)dbfIS)alSbqwY|J^-ZhywYRrls;#Yk45)vra-g=5 z|BR*I?W#P=bSi)XZoxu5INjad=K=UQWs{yvuEs0-)=~Ms(Lf#yz zLjmf$$X?auKz)?+Jx=2dj$W6SPX*9obEr2!?~3~$K<}uR_pZR)ft5sk5?PfbnL@TS&^%4fMZ zPl<LRmB33e2-~I19iBxLz-3E}fM!(J>iN z+`6#=1zLu6-w*&cm4L8GbVRp=PNIrp11fG_2BrsUQ%={*C;Dn_4$b|-SzLLQ4*`8q zeuh2zwYT-m%uJShHY@jK+4+bpisM%zOwY+WHj2vhI;>eJu38GF^ds+K3QUPn%ISgC zI~!5{P68=!M^slqHP(O@wDdm_K{J(-Ry{DdzttnHkX%0J9LHv5E{vd#orDz=`n0u|^v>y!DhV2)(o4DwtO zr4yUWCyGLZor&E-O~)ep`Xo;gPFbi6(J5zuiesK0` z`kA%u(=6G3(kqN2Z_Pr>?BhfCJw$ZsUix+@bO(GYum;qpz0`}XxqN_VQz*D0qEq7X z`$IKe;$~|=%SD??^r>i(E72)uT;7%FlrunGiB4H_`J#RsQs_c-$|<1oJdz%ra>nID z8uy~z9=nAmJ$hvNBx1Et7otbb0CgpLq{FC(HhWl(I%7V5ionIzile>_+5z}l^I4sacpy_xG~d0^|wt0 zk0gY^h3Jv#@T|?DK|3Orif;9{O+kUVq{p{ML$7y3&!POW|4NsjmFnxn#6;+^ga*p` zaYLz2x>UyUEc956fimai{e3!}c!O=6m2Yt_=EL9*Cgi)Kuc>Y7V^z!i(#9_(8vTLF z9`q_Ce;enIM346K*A?fQo13kFcHL_`itFXemsbPsVg7dMAmflP;Ht-YH4`Ll43x${ zr{M*lxkgqZdms0&p@Tu%O_UCO_v_Eseg%H=N?iUBP%rpZm?HV5#>U1z)A1MsWidVp zQ283yFQ$#TqR-gm^KCoY+S-gixl!@DYiMYwX?%SAWg1@3Y5bj}gu<2oU|@tT@nM2H k#`9-F$5icBm4HIvKRP~Wb4AbLC;$Ke07*qoM6N<$f*X?GLjV8( literal 0 HcmV?d00001 diff --git a/hyperion-build-config/src/main/res/drawable-xxhdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-xxhdpi/hbc_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..37d8f8b8dc1cb68d7dea0a3978270f04c557aa5c GIT binary patch literal 3182 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 U#VTs}rT_o{07*qoM6N<$g1!}B$^ZZW literal 0 HcmV?d00001 diff --git a/hyperion-build-config/src/main/res/drawable-xxxhdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-xxxhdpi/hbc_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb354ee81c934a6d1f15e31dde49301ab654faa8 GIT binary patch literal 4490 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 literal 0 HcmV?d00001 diff --git a/hyperion-build-config/src/main/res/layout/hbc_activity_build_config_list.xml b/hyperion-build-config/src/main/res/layout/hbc_activity_build_config_list.xml new file mode 100644 index 00000000..ab6b906b --- /dev/null +++ b/hyperion-build-config/src/main/res/layout/hbc_activity_build_config_list.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/hyperion-build-config/src/main/res/layout/hbc_item_plugin.xml b/hyperion-build-config/src/main/res/layout/hbc_item_plugin.xml new file mode 100644 index 00000000..2cf71f77 --- /dev/null +++ b/hyperion-build-config/src/main/res/layout/hbc_item_plugin.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hyperion-build-config/src/main/res/layout/hbc_value_row.xml b/hyperion-build-config/src/main/res/layout/hbc_value_row.xml new file mode 100644 index 00000000..da0e9792 --- /dev/null +++ b/hyperion-build-config/src/main/res/layout/hbc_value_row.xml @@ -0,0 +1,43 @@ + + + + + + + + \ No newline at end of file diff --git a/hyperion-build-config/src/main/res/values-v17/styles.xml b/hyperion-build-config/src/main/res/values-v17/styles.xml new file mode 100644 index 00000000..ea49077a --- /dev/null +++ b/hyperion-build-config/src/main/res/values-v17/styles.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/hyperion-build-config/src/main/res/values/colors.xml b/hyperion-build-config/src/main/res/values/colors.xml new file mode 100644 index 00000000..698bdf31 --- /dev/null +++ b/hyperion-build-config/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #2196F3 + #1976D2 + #FF9800 + \ No newline at end of file diff --git a/hyperion-build-config/src/main/res/values/strings.xml b/hyperion-build-config/src/main/res/values/strings.xml new file mode 100644 index 00000000..a41949e3 --- /dev/null +++ b/hyperion-build-config/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + + Hyperion-BuildConfig + BuildConfig + View the application BuildConfig values. + \ No newline at end of file diff --git a/hyperion-build-config/src/main/res/values/styles.xml b/hyperion-build-config/src/main/res/values/styles.xml new file mode 100644 index 00000000..2ec7e13f --- /dev/null +++ b/hyperion-build-config/src/main/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/hyperion-sample/build.gradle b/hyperion-sample/build.gradle index 707cb7bf..a7cedc58 100644 --- a/hyperion-sample/build.gradle +++ b/hyperion-sample/build.gradle @@ -53,4 +53,5 @@ dependencies { debugImplementation project(':hyperion-geiger-counter') debugImplementation project(':hyperion-timber') debugImplementation project(':hyperion-sqlite') + debugImplementation project(':hyperion-build-config') } \ No newline at end of file diff --git a/hyperion-sample/proguard-rules.pro b/hyperion-sample/proguard-rules.pro index 38dd506f..998c9bab 100644 --- a/hyperion-sample/proguard-rules.pro +++ b/hyperion-sample/proguard-rules.pro @@ -23,3 +23,5 @@ # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile + +-keep class com.willowtreeapps.hyperion.sample.BuildConfig { *; } \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index dee4ca28..fce0e30b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,4 +17,5 @@ include ':hyperion-sample', ':hyperion-shared-preferences', ':hyperion-geiger-counter', ':hyperion-timber', - ':hyperion-sqlite' \ No newline at end of file + ':hyperion-sqlite', + ':hyperion-build-config' \ No newline at end of file From 6498ff241ad400695faf3a121b6ddf38c9b429bb Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Mon, 9 Jul 2018 17:16:25 -0400 Subject: [PATCH 2/2] Replaced icon and inlined exception printing --- .../list/BuildConfigListActivity.java | 9 +++++---- .../src/main/res/drawable-hdpi/hbc_icon.png | Bin 1810 -> 0 bytes .../src/main/res/drawable-mdpi/hbc_icon.png | Bin 975 -> 0 bytes .../src/main/res/drawable-xhdpi/hbc_icon.png | Bin 2002 -> 0 bytes .../src/main/res/drawable-xxhdpi/hbc_icon.png | Bin 3182 -> 0 bytes .../src/main/res/drawable-xxxhdpi/hbc_icon.png | Bin 4490 -> 0 bytes .../src/main/res/drawable/hbc_icon.xml | 5 +++++ 7 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 hyperion-build-config/src/main/res/drawable-hdpi/hbc_icon.png delete mode 100644 hyperion-build-config/src/main/res/drawable-mdpi/hbc_icon.png delete mode 100644 hyperion-build-config/src/main/res/drawable-xhdpi/hbc_icon.png delete mode 100644 hyperion-build-config/src/main/res/drawable-xxhdpi/hbc_icon.png delete mode 100644 hyperion-build-config/src/main/res/drawable-xxxhdpi/hbc_icon.png create mode 100644 hyperion-build-config/src/main/res/drawable/hbc_icon.xml diff --git a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java index 9c47bd05..82b7cd6f 100644 --- a/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java +++ b/hyperion-build-config/src/main/java/com/willowtreeapps/hyperion/buildconfig/list/BuildConfigListActivity.java @@ -21,6 +21,8 @@ @HyperionIgnore public class BuildConfigListActivity extends AppCompatActivity { + private static final String TAG = "BuildConfig"; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -46,10 +48,10 @@ private List getBuildConfigValues() { List buildConfigValues = new LinkedList<>(); try { Class buildConfigClass = Class.forName(getPackageName() + ".BuildConfig"); - Log.d("BuildConfig", "Checking BuildConfig " + buildConfigClass.getName()); + Log.d(TAG, "Checking BuildConfig " + buildConfigClass.getName()); Field[] declaredFields = buildConfigClass.getDeclaredFields(); for (Field declaredField : declaredFields) { - Log.d("BuildConfig", "Inspecting " + declaredField.toString()); + Log.d(TAG, "Inspecting " + declaredField.toString()); if (Modifier.isStatic(declaredField.getModifiers())) { Class fieldType = declaredField.getType(); String name = declaredField.getName() + " (" + fieldType.getSimpleName() + ")"; @@ -58,8 +60,7 @@ private List getBuildConfigValues() { } } } catch (Exception e) { - Log.e("BuildConfig", "Failed to read BuildConfig"); - e.printStackTrace(); + Log.e(TAG, "Failed to read BuildConfig", e); } return buildConfigValues; diff --git a/hyperion-build-config/src/main/res/drawable-hdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-hdpi/hbc_icon.png deleted file mode 100644 index 81e72ece9344a8e995c1c80b7df1c20298a3712f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810 zcmV+t2krQYP)j{00001b5ch_0Itp) z=>Px*%t=H+RA>e5n@eb3MHI*Lj+)TKL~Sd!BCSwcaA7M{N)cRC8?2;0ip0-F-boi? zSL#9#6j4DC7v^bPm;{VMifv;eLb_3dnoXg#!3S7l>Vt$fCZ>6Q{?6x}kIBvVnET3i zu^G6TnKNh3oc}pz9^c%XtgP!eWjn#%+1YvL($doHIXO86PWrjw&CbrADJdzraO~Kz zIXC@H`WS)l>+8F5YHI3aG#Wi*BGgBoNn}+tH#dLdqs+LdoOmfk0pPD^0JvyWP6V83 zYirw;LOs__MxJkNZT$uC+tny2beZxgXp*N)Op$0x2CETSkMiuZs=tzNQ~en4Qf_YU zf%^LTaYgeZ&odFC1Bd_H!otEs)z#HkO!}Jg;N7hn_%;AHT0@fn4^E(8xe?>BH=zLWvJR904YoZ_dd4Fl|Eu|18EZc;R_xnuC9rKR6_9n_%z zBCGszd3pKM@P4KEF~9>WD=VK24-Xqftm>C6cMKk-7Lp0`i!PoQS+dRL=jR`xeo>Qs zcx-I!0}NrbUTOW-6di+KBOw3+z+&J_RW7x|=+d;8ob`fY|2F;qgjn^NLRW4I-dM)t%;{1kc$Z9`-sQ zPI_l)dluS?q7wn&Z+}eHo#dee4}eu+uLEKVe2f83C>q|+#Q-05baWh4G}Ank-~p4+ z^9mFOc$ca1rmACr8#n}=!T|Rwnn@l?@QLQU9SjC|3EGE>jsZ$Az#s;=OVQHhVFjO? zPH_wrCH!mQ8&bR&U@ND<&p8H{DO##Ll;8>by{VK|ZFql?Q{a=-M-`2HCkA*?t0ygn z20UK7rfK;cXZZWHdeS1Nz?q_=q6#A6CynVrt(>&z%NaSTbO#ND@HysetOtfDqAcj+Uc`75ucqF8t|OpP7&^ZD8rF-x zZN#KY4XRvIQ}Y)9o1!v&sm_a40XDhT#lC`MS^UT$b;IB$e1K&C+F zJgapDEBGkkc$7!(=;S#nG-(SEmyzhez_U-60Q7ydC`_P9p|lB4g0^)dd7kqC*g;qi zqVY~$Yrx6g95b#QK-kJ2k#?k4cJl9)?YHMrbw>ypmSj>KS zUM?6`0ThGd|{9ex1 z9(Xk#ntqQYpzx6V}rlzI=!gDV``*|)~PruNlO?WbyJcoTc z<*mcaQ&4jM#@4rA_*n}^AP70XEBt` zzt`$hC32;WEpwVk_*2PZN<`ruWi2_aXl`@Q;4R?YZWI87-mRA%Am(Lc3OyDL0B_cr zWJ*Zl*Wv*T5PyBG^O%+c-Rex0$P}Mv&*QCL%TtcSo)ErG^K6wRM{FU}D3;)9NfP#+ zye`5$gSX~t&wr{q{|n$vGPh-p(|gszhwL6sf%17uASvTvFWZ@bw4)Q6wAtx?);)XP zt1{L;9^sJl7U6w;9deZMtP@?}r#dyBJnaH>UyB4-xruA7_?3w!%f+b1ux+RrmhT%`h9^Zp6}Gha8vdS zo)cKo3rs?P;{r2*S2iv%6BuP(NuI+#owi}Vz;wLY^B%k)9pFr~&&|yxdLf!p702ND z0O0VjKgU=DQ}D5yM3Kt2^-fPu&&|dotOH|LSJ$oVEc*BN|CkJGI_Kph zzu32J?63Q#r>8G)32}zyd_Lt zKFWKzj3@M1qXSo8u^Z4e4K{*N*t24Pfxvn!dd=29bXD|x1$~E16kBz7oUQ|(i4{&v zOl)I*IbK=Q$@bb#1T6FQ$8UVC@wZo5*G2z-0dN`|1Sf+j%K!iX07*qoM6N<$g3JhO ALI3~& diff --git a/hyperion-build-config/src/main/res/drawable-mdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-mdpi/hbc_icon.png deleted file mode 100644 index 1c1cfa6034c9407ca1c0fc6f381afd6576c77224..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975 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 diff --git a/hyperion-build-config/src/main/res/drawable-xxhdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-xxhdpi/hbc_icon.png deleted file mode 100644 index 37d8f8b8dc1cb68d7dea0a3978270f04c557aa5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3182 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 U#VTs}rT_o{07*qoM6N<$g1!}B$^ZZW diff --git a/hyperion-build-config/src/main/res/drawable-xxxhdpi/hbc_icon.png b/hyperion-build-config/src/main/res/drawable-xxxhdpi/hbc_icon.png deleted file mode 100644 index bb354ee81c934a6d1f15e31dde49301ab654faa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4490 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 diff --git a/hyperion-build-config/src/main/res/drawable/hbc_icon.xml b/hyperion-build-config/src/main/res/drawable/hbc_icon.xml new file mode 100644 index 00000000..bd4a1f99 --- /dev/null +++ b/hyperion-build-config/src/main/res/drawable/hbc_icon.xml @@ -0,0 +1,5 @@ + + +