From 2711f7b6657df4c7010db18a61ffa9b5d19896ab Mon Sep 17 00:00:00 2001 From: "Chris J. Karr" Date: Wed, 28 Dec 2016 19:32:39 -0600 Subject: [PATCH] Additional diagnostics work --- build.gradle | 6 +- res/drawable-hdpi/ic_pdk_diagnostic.png | Bin 0 -> 1397 bytes res/drawable-mdpi/ic_pdk_diagnostic.png | Bin 0 -> 1212 bytes res/drawable-xhdpi/ic_pdk_diagnostic.png | Bin 0 -> 1504 bytes res/drawable-xxhdpi/ic_pdk_diagnostic.png | Bin 0 -> 2018 bytes res/drawable-xxxhdpi/ic_pdk_diagnostic.png | Bin 0 -> 2068 bytes res/layout/card_diagnostic_action.xml | 37 +++++-- res/layout/layout_diagnostics_pdk.xml | 19 +++- res/menu/diagnostic_menu.xml | 6 ++ res/values/diagnostics.xml | 16 ++- res/values/generators.xml | 1 - res/values/strings.xml | 5 + .../activities/DataStreamActivity.java | 16 +-- .../activities/DiagnosticsActivity.java | 92 ++++++++++++++---- .../diagnostics/DiagnosticAction.java | 8 +- .../generators/communication/PhoneCalls.java | 3 +- .../communication/TextMessages.java | 6 +- .../generators/device/Location.java | 5 +- .../generators/services/GoogleAwareness.java | 7 +- .../generators/wearables/MicrosoftBand.java | 6 +- 20 files changed, 168 insertions(+), 65 deletions(-) create mode 100755 res/drawable-hdpi/ic_pdk_diagnostic.png create mode 100755 res/drawable-mdpi/ic_pdk_diagnostic.png create mode 100755 res/drawable-xhdpi/ic_pdk_diagnostic.png create mode 100755 res/drawable-xxhdpi/ic_pdk_diagnostic.png create mode 100755 res/drawable-xxxhdpi/ic_pdk_diagnostic.png create mode 100755 res/menu/diagnostic_menu.xml diff --git a/build.gradle b/build.gradle index c571e90..e6359b3 100755 --- a/build.gradle +++ b/build.gradle @@ -45,9 +45,9 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:25.0.1' - compile 'com.android.support:recyclerview-v7:25.0.1' - compile 'com.android.support:cardview-v7:25.0.1' + compile 'com.android.support:appcompat-v7:25.1.0' + compile 'com.android.support:recyclerview-v7:25.1.0' + compile 'com.android.support:cardview-v7:25.1.0' compile 'com.google.android.gms:play-services-location:10.0.1' compile 'com.google.android.gms:play-services-maps:10.0.1' compile 'com.google.android.gms:play-services-nearby:10.0.1' diff --git a/res/drawable-hdpi/ic_pdk_diagnostic.png b/res/drawable-hdpi/ic_pdk_diagnostic.png new file mode 100755 index 0000000000000000000000000000000000000000..e80247a9482c0d1707daba4b4c829418dd5ae2c0 GIT binary patch literal 1397 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%o>>?5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s04CfFugAM$)&lec_lEtDG0rmIQ4=OL~a4lW|!2W%(B!Jx1#)91+d4hGI6`b z45xWey(zfeVvbXF!Z)WcGV{#N}ZM^HkEnKZ_dMjh~gZs=EI9{pQG|bIkFt^pNsdK%9$imHA0w+G; zz7cUT!$)UHP>IcCp2AIsj1Hf<`$nyJvi`+4acSplKNnxrN!FSC?1UAgUxV-i77Io{ zhQv3`kp*mV9&QhqIy5%!UlG*n{Ir4norB|_f4tWYBuB|;Z2n(3QH;IfYrgBzr!N|L zFZk_Zw$7=zGU=T|#oP1~u^k(K{oUcSih0kk?+W&hZ0nTPMi(nSdlg-Na2oUCYj$_z zHiUG>E|U*8JGRZRl79=E&j!w}rpb)w_dD2eGPQ-q@2l(%(R;!ZzJQ-kdEVFLq7&At zt-;zxKCC&?eh0cW7bP0l+XkK DN+0+^ literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_pdk_diagnostic.png b/res/drawable-mdpi/ic_pdk_diagnostic.png new file mode 100755 index 0000000000000000000000000000000000000000..539cf8afd7e58849ba1e79786869ffd2442626f0 GIT binary patch literal 1212 zcmaJ>ZAcqu9KSYA)eNJI!E6!s^mHX|=3df7y_=bNx!9!iG^Bxrv9Vq*k9yO4>D^-! zL!nyiX8WOY`w%t?n;Saxvt zyzu+|{%=3-QgYyUqwBDXAc)39Tu9*+*l+zo{I!b34ZIveu?#w;523tdLL!{gvk)Xy zX&9!Ul$$uS1bYd>;Zf2Vlo3zzvaV8+jiCyvf!PGn+gC6oc@!d$g~N&#B+GZcCxMa+ zlJ5jWMl_;uM2Qzoc&a#%mW!h@mm~Y$2E7Fy3#brDprDRv7GDUGJGwmH+t)M+b|7dp zNIp+0BPKyqHz5d6U0#_z)&sgZiVbi*K7S|hF>Dvja5U@pGAz$ zC}s6=6eMw`&r48^Jz34#Z4+)7U62f#r5L-UDo_;vAF8T*XbYv_i+ul6*h)_rkWN8M zA2($@xS=*Xl)*<$C?VZU>-t!=i^&lk>DGvDfN0e2S~u{BlB{UA zLI{#rhfo;{3>=e!`wQ~vA)Z69eYUdKE$)#~Jv_0N`jk|hYj(R*>AM%&fAph$2j|@_;qnZ<=lz0o-H%lbMoTRy*i-1+AQTHLODKKV^@u2f!fJ3rj~@^NzRdU?s^ zJaMk+;e{iiG1vX32aV2D=g-2^zdit^sfX`JU%Gf8yZrjK_RhNOSwB1AS&mP?d--x! z1XsY_n}T&-(8p{p~ga!a#5S!#F|dYN-)w!SK^ zbTvOcefwkQ;MQ9E>~dV)n!2_2Dr)HO4YpCBH2<07w-D>-aJQ(XPxwiS0Ec-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk*h0bFQqR!T z(!$6@N5ROz&`jUJQs2--*TB%qz|zXVPyq^*fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAddqG<*}2 zGxI=#nqXbNzE+-j#U+V($*G<$wn{*A^fEJ3tbl3_94!q@oK4ML4Gmq*oD7{@T`e6g z&0S1gU7QR}V0vBhlS^|`^GaZPQxJMhaq0ynh};68%`T}$nPsUdZbkXI3Sf_0WnyuQ zp_#L(tFxOMPV=C8Q?R%Ntk=cB0H?qQvzPNWS$H}bZrGng!8-%&F;}0BjI_Pb7n^P=I zDI%gHL9rw17lU1+!n8-+5;-h^%2|m^dyfel9TG}1v)=stOwKo%AD(K{_tyNMIX8P< z*y>K5b`eQ_wgU_j49p1(JPnKn3~UpwzSvsx&vF9$E(Y5a-UC)I9QN*KJ=+ksIf(Vs zg0lfTIkeJWN(L~A&a%_iHi+d{_}_oKnak%ov&PEVxuQ=Z6?AvVZ}~aThIhP=faO8?1G`Ew52x>sw|t(*bj_6E(GLGxN*?TY)z31$T=6?4Qi1ah zKhMASiT#2b7^g&k`8oF#lMh2H$MNJ-E&duMaRfwGs+1X#j zH?wKi{3|z@WEq~;#3e;e5Ml7YaPIZ&K0_h)1&{xw2mhR1FlA;&ctrV~ef+-yu76;i zb)iNq=Qi7d=Cxci&XF|R@++{f=g7tzju&cv{C90^DdUR zQYnq;%nhBtLqp#m4%~QAX$FJA%-!YXm}3o0)-t(n_eT1#uz=v-jjpriBV$qR$9$J;op7`hJKU2*>pgIPoH zh1rW4&OI_)ZWa4b`+`Wujg7O{f7i}?#J8&CIMa8pmHhX#&!9%@577jM3p}9-e8+s> Q0E=7(Pgg&ebxsLQ01~Jk9RL6T literal 0 HcmV?d00001 diff --git a/res/drawable-xxhdpi/ic_pdk_diagnostic.png b/res/drawable-xxhdpi/ic_pdk_diagnostic.png new file mode 100755 index 0000000000000000000000000000000000000000..62b411dc02edcd53bbc3b8f18fee93e27217fa77 GIT binary patch literal 2018 zcmaJ?3s4hx8vlpaa47VU`UdI^FV1FaV*7!*?2mdkC#fd2uPHpc?cv@OBIL& zk;=<94j}OWxQ3}Rvhi&3Ke#efO_Mr(XnHk9paFGaalQd(&=4b>{>Ob&-bXGGDXq9O^8NL`r*m+B)m zI_fL~jOb)q6^5%&4di5$=Ap$nk3wYnYYA%X6|F}1vQ0$8=z1weXVMtXl4c#n;{Wfe zR=@Jr;S%JxeE*bKmr;fxbP1wEi?uRhaQRecD2yx6B2paHW}s-%Y!_3ND30osCUx2u{qx+B)5fII?Eq%C~@q;h@eR+Yr-ehhw}k zP$aq{pUK^JD}5}K)1vp7xth|+TfOr6*21y@DT^zNB575DT; zj49kk-#UW5wrJ_hvsoS{(0G9n72K=KW$Rwb;6v~ zsOeqDO;3wtPgM-5R?!{E`Q+UzK52D3vP13etnahC%vSiPkg4Z6APft)?H^pf_S2$f z-Z{1<=7~M0y8ZR@Wj=j^12-*zF7xu*z2=+gGKmjpSp}0pQT2mWHvh>>5plq8?E59w z;Mam9^TAq5_2Gi)j~Wl`@R7i!)dOy_a@f;XRXAvZ!x7J*`L>8J~8pQ zbzKn%DWtOoQsu_5H^IUhJNxmc%Yu`0DAhk0vzzROhr^M6T@T_Xwe0yLXCDT3JaB!- zdwDV!i1^*r+XDMq&IZNb4RMW|Z~8g49JvsDAooz^!4L08%B_<@!veH>{Lw+h-)(zK z+D06UI{Qwgd!Ih@G|2Lq=l+==s5ii&c)TCjYL9fMJKD#mwvCcEZ2Iouf{=lg*B`!p zNB{Zhu^kTkeDjx#UU^_gwEw2S{Ob0Ar^kJ5Ap*+{#}76S*U^ literal 0 HcmV?d00001 diff --git a/res/drawable-xxxhdpi/ic_pdk_diagnostic.png b/res/drawable-xxxhdpi/ic_pdk_diagnostic.png new file mode 100755 index 0000000000000000000000000000000000000000..ed16022e0facabfbd4eba73f338232cd9465e72b GIT binary patch literal 2068 zcmb7Fe^3*57T>HJja1HXazfF{8fbx5@=F3F7|2gdkRS#S?y!YTvXGQ)Hf|P)Qb@3% zoYo=gc_@NK5A>!MTVwz$+T^aCinU5c?igyl$~l$7VGmSn=fV+gW5M1Z$Iac&?0(<- z&ij1c=e_US-Ct*CZ4M5K2m$~gSglfMsnr>{8B3|>C#lE{YI%`V7LYl330Z*I zctw;Q*yga{XCY*nnDwKm0!=n7#|ab`uoL6;yp73ll90_42$T5<8(=<{m&oA?IlP2; zE>FZ2inu&@{$f$t2t$cTt4N>EMR{VDktD4m4yU4`f?ctZjT5CDo=_;{aQPfQKc0$+ zx9zr&h&|q7i&|h%pf){WvXUm;0tXlo9bQg~S(MTrOTetpX)U(-Hc<`Z*bys-$L0n~ zS_sr={(C5fJ&(4LTJ$Hq|B=|1yW5I#w5Sa)C-l_8l|%(nSw(UJMM#{;#c}gO7qg8x ziQA006_(2bT}y&vHHhA132eqaLuoW3wZ%pv7Cov~h*=a5+hj6`c!_d>Ql2i93zC#P zo-$F!lPQ%#sW3?)P%31+gaxbu*Oz0cgH zGA*tpX;Hp;tYL92$%|q+lo(Fnc>nFV7q+Mw3YgD_mvWwuKWd?7o}h+1yH)oc06=@y z3TdwW&cl|QWvis&pY`fPIJ2tv^3?+eeqVpU9`BD^jopqGS3ZL4;rs1pT4Uyx;Ojnp z8(s(f;r#I}TXpB3viAPzMSh*KDM8(}aq`NO%8~Zded@%S)B(ICDKe$2w>Q7_Ep(V3 z4j@1+jk#3vzZ$=}ShBJDyL0B(zwb>O_ARA7_P*1xtf$9(^>O!uxum0ixz#^)Qu+V#5;-%W{~G^lyF4Y}-hpm%{#n(;ga@V@<3>ioJ|^7IIR^*5 zFLiDje3wpNF+NbqZaoGJX1MnR8DEx^9k`jVp&f#b@ABp4cwGL@Snpoo@!-9#yz^s^ z{=Cf-o9XEIY&S5FGpL}&LyTj7KK<^Fkr=4| zwOKSMVLhchUr7swj7sCjO&>}A2Gt*{7KEx=fQgWk?yWWD3|FZyFPqADCC>FKZHKS2 zXLX%<>&4LHn&jD|iH--Z2Ol&@YWkRxYTwG4V5hpGzv0Z>I;l34d!pT)5q~y0Omzr2 zSUu_pU6QMGRt0UCaWh-N?%K0%vv)P*I_ZCJxoa(5%ko^FnvM~Msp_bL9Sks9S(D4~ zW<}4UpY*JEUYXv{lJG-SH9*U!w~G=j%fS8&hYF0A(&WA;XPpKx_psj!S&7Nugf=au z_497{1gKp;5^?WI$_J`u;7nXGbk1?w8`T-=QaPIP{O?4KWV;hau)>D$nn-TVJ5vZz}?6ifxk5e*iDj2IrJa z`rjqa562s$e^?_wG#se8=*Z~HU(j`{JnimpE7Da}Jx?!<74e6zzb+f9ay`j}f-ZgJ z*>wRLOE>y$g<)oK*VF5beN|r%9b|-#eUst5962M87`fUp(c}MFLG>3yDTVpOX-OtX zvfAeSuFVvC*xWHH8uToNJ~DU5AnD+38E} zED?l{1Xnc|;N6*E+8vQ5?b?wP^T%z-&&S^ITsi&uLa?rt8uP?x;2_0i); ls__5k<(~f% + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content"> - + + android:layout_height="wrap_content"> + + + + \ No newline at end of file diff --git a/res/layout/layout_diagnostics_pdk.xml b/res/layout/layout_diagnostics_pdk.xml index e71a783..379c418 100755 --- a/res/layout/layout_diagnostics_pdk.xml +++ b/res/layout/layout_diagnostics_pdk.xml @@ -1,7 +1,16 @@ - + android:layout_height="match_parent"> + + + diff --git a/res/menu/diagnostic_menu.xml b/res/menu/diagnostic_menu.xml new file mode 100755 index 0000000..65f394a --- /dev/null +++ b/res/menu/diagnostic_menu.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/res/values/diagnostics.xml b/res/values/diagnostics.xml index c0adb6a..a656358 100755 --- a/res/values/diagnostics.xml +++ b/res/values/diagnostics.xml @@ -1,7 +1,19 @@ - Unable to connect to Microsoft Band. + Microsoft Band App Not Installed + Unable to connect to Microsoft Band. Please install the app and try again. + + Microsoft Band Permission Required Please grant the app sensor access on the Microsoft Band. - Please grant the app permission to access location services on this device. + + Activity Recognition Permission Required Please grant the app permission to recognize your activity using data from this device. + + Call Log Permission Required Please grant the app permission to access the phone call logs on this device. + + Text Messaging Permission Required + Please all the app permission to access your text messages to gather and report your messaging activity statistics. + + Location Permission Required + Please grant the app permission to access location services on this device. diff --git a/res/values/generators.xml b/res/values/generators.xml index b5e805f..2fbcf3b 100755 --- a/res/values/generators.xml +++ b/res/values/generators.xml @@ -69,7 +69,6 @@ %1$d chars. No text messages have been sent or received on this device. - Please all the app permission to access your text messages to gather and report your messaging activity statistics. Phone Calls diff --git a/res/values/strings.xml b/res/values/strings.xml index 6474efa..a784812 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -15,5 +15,10 @@ Today Never + Diagnostics + Diagnostics (%d) + Diagnostics + + The app is set up correctly.\n\nNo further actions are needed. diff --git a/src/com/audacious_software/passive_data_kit/activities/DataStreamActivity.java b/src/com/audacious_software/passive_data_kit/activities/DataStreamActivity.java index a4a1300..04e416c 100755 --- a/src/com/audacious_software/passive_data_kit/activities/DataStreamActivity.java +++ b/src/com/audacious_software/passive_data_kit/activities/DataStreamActivity.java @@ -66,25 +66,15 @@ protected void onPause() { @Override public void onGeneratorUpdated(String identifier, Bundle data) { - Log.e("PDK", "GOT GENERATOR UPDATE: " + identifier + " -- " + data); - - this.mAdapter.notifyDataSetChanged(); - - final int count = this.mAdapter.getItemCount(); - - Handler mainHandler = new Handler(Looper.getMainLooper()); - final DataStreamActivity me = this; - mainHandler.post(new Runnable() { + this.runOnUiThread(new Runnable() { @Override public void run() { + me.mAdapter.notifyDataSetChanged(); + int count = me.mAdapter.getItemCount(); me.getSupportActionBar().setSubtitle(me.getResources().getQuantityString(R.plurals.activity_data_stream_subtitle, count, count)); } }); - -// RecyclerView listView = (RecyclerView) this.findViewById(R.id.list_view); -// listView.setAdapter(this.mAdapter); -// listView.invalidate(); } } diff --git a/src/com/audacious_software/passive_data_kit/activities/DiagnosticsActivity.java b/src/com/audacious_software/passive_data_kit/activities/DiagnosticsActivity.java index ce8a3d5..851103d 100755 --- a/src/com/audacious_software/passive_data_kit/activities/DiagnosticsActivity.java +++ b/src/com/audacious_software/passive_data_kit/activities/DiagnosticsActivity.java @@ -1,11 +1,14 @@ package com.audacious_software.passive_data_kit.activities; +import android.app.Activity; +import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; @@ -17,6 +20,38 @@ import java.util.ArrayList; public class DiagnosticsActivity extends AppCompatActivity { + public static void setUpDiagnositicsItem(Activity activity, Menu menu, boolean showAction) { + final ArrayList actions = PassiveDataKit.diagnostics(activity); + + MenuItem item = menu.add(Menu.NONE, R.id.action_diagnostics, 0, activity.getString(R.string.action_diagnostics)); + + if (actions.size() > 0 && showAction) { + item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); + + item.setIcon(R.drawable.ic_pdk_diagnostic); + item.setTitle("" + actions.size()); + } else { + item.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); + + if (actions.size() > 0) { + item.setTitle(activity.getString(R.string.action_diagnostics_incomplete, actions.size())); + } + } + } + + public static boolean diagnosticItemSelected(Activity activity, MenuItem item) { + int id = item.getItemId(); + + if (id == R.id.action_diagnostics) { + Intent diagnosticsIntent = new Intent(activity, DiagnosticsActivity.class); + activity.startActivity(diagnosticsIntent); + + return true; + } + + return false; + } + private class DiagnosticViewHolder extends RecyclerView.ViewHolder { private View mView = null; @@ -44,7 +79,10 @@ public void bindDiagnosticAction(DiagnosticAction action) { this.mAction = action; - TextView message = (TextView) this.mView.findViewById(R.id.message_action); + TextView title = (TextView) this.mView.findViewById(R.id.action_title); + title.setText(action.getTitle()); + + TextView message = (TextView) this.mView.findViewById(R.id.action_message); message.setText(action.getMessage()); } } @@ -52,34 +90,46 @@ public void bindDiagnosticAction(DiagnosticAction action) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.layout_diagnostics_pdk); + this.getSupportActionBar().setTitle(R.string.title_pdk_diagnostics); + } - final ArrayList actions = PassiveDataKit.diagnostics(this); + protected void onResume() { + super.onResume(); - Log.e("PDK", "ACTIONS COUNT: " + actions.size()); + final ArrayList actions = PassiveDataKit.diagnostics(this); RecyclerView listView = (RecyclerView) this.findViewById(R.id.list_view); + TextView emptyMessage = (TextView) this.findViewById(R.id.message_no_diagnostics); - listView.setLayoutManager(new LinearLayoutManager(this)); + if (actions.size() > 0) { + listView.setVisibility(View.VISIBLE); + emptyMessage.setVisibility(View.GONE); - listView.setAdapter(new RecyclerView.Adapter() { - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_diagnostic_action, parent, false); + listView.setLayoutManager(new LinearLayoutManager(this)); - return new DiagnosticViewHolder(v); - } + listView.setAdapter(new RecyclerView.Adapter() { + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_diagnostic_action, parent, false); - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - DiagnosticViewHolder diagHolder = (DiagnosticViewHolder) holder; + return new DiagnosticViewHolder(v); + } - diagHolder.bindDiagnosticAction(actions.get(position)); - } + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + DiagnosticViewHolder diagHolder = (DiagnosticViewHolder) holder; - @Override - public int getItemCount() { - return actions.size(); - } - }); + diagHolder.bindDiagnosticAction(actions.get(position)); + } + + @Override + public int getItemCount() { + return actions.size(); + } + }); + } else { + listView.setVisibility(View.GONE); + emptyMessage.setVisibility(View.VISIBLE); + } } } diff --git a/src/com/audacious_software/passive_data_kit/diagnostics/DiagnosticAction.java b/src/com/audacious_software/passive_data_kit/diagnostics/DiagnosticAction.java index c3869ff..d466198 100755 --- a/src/com/audacious_software/passive_data_kit/diagnostics/DiagnosticAction.java +++ b/src/com/audacious_software/passive_data_kit/diagnostics/DiagnosticAction.java @@ -8,8 +8,10 @@ public class DiagnosticAction { private String mMessage = null; private Runnable mAction = null; + private String mTitle = null; - public DiagnosticAction(String message, Runnable action) { + public DiagnosticAction(String title, String message, Runnable action) { + this.mTitle = title; this.mMessage = message; this.mAction = action; } @@ -25,4 +27,8 @@ public void run() { public String getMessage() { return this.mMessage; } + + public String getTitle() { + return this.mTitle; + } } diff --git a/src/com/audacious_software/passive_data_kit/generators/communication/PhoneCalls.java b/src/com/audacious_software/passive_data_kit/generators/communication/PhoneCalls.java index 93677c0..f72cbe8 100755 --- a/src/com/audacious_software/passive_data_kit/generators/communication/PhoneCalls.java +++ b/src/com/audacious_software/passive_data_kit/generators/communication/PhoneCalls.java @@ -142,6 +142,7 @@ private void startGenerator() { final Runnable checkLogs = new Runnable() { @Override public void run() { + Log.e("PDK", "CHECK PHONE LOGS"); boolean approved = false; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { @@ -365,7 +366,7 @@ public static ArrayList diagnostics(final Context context) { if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED){ final Handler handler = new Handler(Looper.getMainLooper()); - actions.add(new DiagnosticAction(context.getString(R.string.diagnostic_call_log_permission_required), new Runnable() { + actions.add(new DiagnosticAction(context.getString(R.string.diagnostic_call_log_permission_required_title), context.getString(R.string.diagnostic_call_log_permission_required), new Runnable() { @Override public void run() { diff --git a/src/com/audacious_software/passive_data_kit/generators/communication/TextMessages.java b/src/com/audacious_software/passive_data_kit/generators/communication/TextMessages.java index 3ad7c05..f82e641 100755 --- a/src/com/audacious_software/passive_data_kit/generators/communication/TextMessages.java +++ b/src/com/audacious_software/passive_data_kit/generators/communication/TextMessages.java @@ -16,6 +16,7 @@ import android.os.Looper; import android.preference.PreferenceManager; import android.support.v4.content.ContextCompat; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -119,6 +120,9 @@ private void startGenerator() { final Runnable checkLogs = new Runnable() { @Override public void run() { + + Log.e("PDK", "CHECK TEXT LOGS"); + boolean approved = false; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { @@ -311,7 +315,7 @@ public static ArrayList diagnostics(final Context context) { if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED){ final Handler handler = new Handler(Looper.getMainLooper()); - actions.add(new DiagnosticAction(context.getString(R.string.diagnostic_sms_log_permission_required), new Runnable() { + actions.add(new DiagnosticAction(context.getString(R.string.diagnostic_sms_log_permission_required_title), context.getString(R.string.diagnostic_sms_log_permission_required), new Runnable() { @Override public void run() { diff --git a/src/com/audacious_software/passive_data_kit/generators/device/Location.java b/src/com/audacious_software/passive_data_kit/generators/device/Location.java index c76a801..7363344 100755 --- a/src/com/audacious_software/passive_data_kit/generators/device/Location.java +++ b/src/com/audacious_software/passive_data_kit/generators/device/Location.java @@ -22,6 +22,7 @@ import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v7.widget.SwitchCompat; import android.util.DisplayMetrics; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -230,7 +231,7 @@ private ArrayList runDiagostics() { int permissionCheck = ContextCompat.checkSelfPermission(this.mContext, Manifest.permission.ACCESS_FINE_LOCATION); if (permissionCheck != PackageManager.PERMISSION_GRANTED) { - actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_location_permission), new Runnable() { + actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_location_permission_title), me.mContext.getString(R.string.diagnostic_missing_location_permission), new Runnable() { @Override public void run() { @@ -281,6 +282,8 @@ public void onConnectionFailed(ConnectionResult connectionResult) { @Override public void onLocationChanged(android.location.Location location) { + Log.e("PDK", "LOCATION CHANGED"); + if (location == null) return; diff --git a/src/com/audacious_software/passive_data_kit/generators/services/GoogleAwareness.java b/src/com/audacious_software/passive_data_kit/generators/services/GoogleAwareness.java index 9aea317..0688e7d 100755 --- a/src/com/audacious_software/passive_data_kit/generators/services/GoogleAwareness.java +++ b/src/com/audacious_software/passive_data_kit/generators/services/GoogleAwareness.java @@ -19,13 +19,10 @@ import com.audacious_software.passive_data_kit.generators.Generators; import com.audacious_software.pdk.passivedatakit.R; import com.google.android.gms.awareness.Awareness; -import com.google.android.gms.awareness.snapshot.DetectedActivityResult; import com.google.android.gms.awareness.snapshot.HeadphoneStateResult; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.ResultCallback; -import com.google.android.gms.location.ActivityRecognitionResult; -import com.google.android.gms.location.DetectedActivity; import java.util.ArrayList; import java.util.List; @@ -106,7 +103,7 @@ private ArrayList runDiagostics() { int permissionCheck = ContextCompat.checkSelfPermission(this.mContext, Manifest.permission.ACCESS_FINE_LOCATION); if (permissionCheck != PackageManager.PERMISSION_GRANTED) { - actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_location_permission), new Runnable() { + actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_location_permission_title), me.mContext.getString(R.string.diagnostic_missing_location_permission), new Runnable() { @Override public void run() { handler.post(new Runnable() { @@ -130,7 +127,7 @@ public void run() { if (permissionCheck != PackageManager.PERMISSION_GRANTED) { Log.e("PDK", "3.3"); - actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_activity_recognition_permission), new Runnable() { + actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_activity_recognition_permission_title), me.mContext.getString(R.string.diagnostic_missing_activity_recognition_permission), new Runnable() { @Override public void run() { handler.post(new Runnable() { diff --git a/src/com/audacious_software/passive_data_kit/generators/wearables/MicrosoftBand.java b/src/com/audacious_software/passive_data_kit/generators/wearables/MicrosoftBand.java index b8f4d3b..246e7d3 100755 --- a/src/com/audacious_software/passive_data_kit/generators/wearables/MicrosoftBand.java +++ b/src/com/audacious_software/passive_data_kit/generators/wearables/MicrosoftBand.java @@ -561,7 +561,7 @@ private ArrayList runDiagostics() { final MicrosoftBand me = this; if (MicrosoftBand.sInstance.mBandClient == null) { - actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_msft_band_client), new Runnable() { + actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_msft_band_client_title), me.mContext.getString(R.string.diagnostic_missing_msft_band_client), new Runnable() { @Override public void run() { @@ -575,7 +575,7 @@ public void run() { } })); } else if (!MicrosoftBand.sInstance.mBandClient.isConnected()) { - actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_msft_band_client), new Runnable() { + actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_msft_band_client_title), me.mContext.getString(R.string.diagnostic_missing_msft_band_client), new Runnable() { @Override public void run() { @@ -596,7 +596,7 @@ public void run() { if (this.canAccessSensor(sensors, MicrosoftBand.HeartRateDataPoint.class) || this.canAccessSensor(sensors, MicrosoftBand.HeartRateVariabilityDataPoint.class)) { if (sensors.getCurrentHeartRateConsent() != UserConsent.GRANTED) { - actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_msft_band_auth), new Runnable() { + actions.add(new DiagnosticAction(me.mContext.getString(R.string.diagnostic_missing_msft_band_auth_title), me.mContext.getString(R.string.diagnostic_missing_msft_band_auth), new Runnable() { @Override public void run() {