**** BEGIN LOGGING AT Sat Sep 03 02:59:59 2016 Sep 03 03:21:51 Arancio, yeah it's about 68° lol Sep 03 03:38:28 so whats up? Sep 03 03:41:23 I'm creating some CRUD activities for my application Sep 03 03:41:50 How do I get the Holo theme for an AppCompatActivity? Sep 03 03:42:27 I have to use @style/Theme.AppCompat.Light.NoActionBar but it's different from the normal theme that I see. Sep 03 03:43:46 The action bar is gray instead of blue Sep 03 03:50:14 why use holo? Sep 03 03:53:55 isn't the default theme on API 23? Sep 03 03:54:02 its easy enough to use material Sep 03 03:54:11 what's the default theme? I just want to remove the action bar Sep 03 03:54:19 um hold on Sep 03 03:54:54 I can't use Theme.Material.NoActionBar. I get an exception Sep 03 03:55:03 it might be Theme.Material.Light.NoActionBar Sep 03 03:55:16 I need to use Theme.AppCompat.Something.NoActionBar Sep 03 03:55:29 there may not be one with NoActionBar, but all you do is not add a Toolbar to your view hierarchy Sep 03 03:55:56 AppCompatActivity doeanAppCompatActivity doesnt have a default toolbar Sep 03 03:56:01 jeez that was bad Sep 03 03:56:11 just take out that crazy middle word Sep 03 03:56:16 :) Sep 03 03:57:01 I don't understand what you mean with "all you do is not add a Toolbar to your view hierarchy". I'm not adding a toolbar. I just get the default action bar with my app title Sep 03 03:58:07 use Theme.Material, and you shouldnt have an actionbar/toolbar Sep 03 03:58:09 i do believe Sep 03 03:59:21 dr_infernoo: I specifically have to use a theme descending from Theme.AppCompat <----- Sep 03 03:59:23 i actually use the themes from https://github.com/mikepenz/Materialize Sep 03 03:59:33 dr_infernoo: otherwise I get an exception Sep 03 04:00:27 yeah sorry, forgot about appcompay Sep 03 04:00:29 t Sep 03 04:00:46 use Theme.AppCompat, and you wont have an actionbar/toolbar by defauly Sep 03 04:00:47 t Sep 03 04:00:53 damn mobile keyboard lol Sep 03 04:02:00 with AppCompatActivity, you actually have to add the Toolbar in your layout file, and call setSupportActionBar(*your toolbar*) if you want one Sep 03 04:02:25 whats your minSdk? Sep 03 04:04:19 min 16, target 24 Sep 03 04:05:23 yeah that should work Sep 03 04:05:43 iirc appcompat is compatible down to minSdk 7 Sep 03 04:06:00 certainly to 16 Sep 03 04:06:39 yes, Android Studio creates AppCompat activities by default. It's not my idea Sep 03 04:06:59 you should be using them by now anyways Sep 03 04:07:07 easiest way to have maximum compatibility Sep 03 04:09:53 what's your application about, if I may ask (and if I didn't ask already)? Sep 03 04:10:41 i don't have anything published yet, but I'm working on a tabletop rpg character sheet creation and organization app Sep 03 04:11:06 ive been on coding hiatus for a few months, and im just starting to get back into the hang of it Sep 03 04:11:40 you create the character and the print the result for playing? Sep 03 04:11:44 then Sep 03 04:12:09 (I never played role-playing games in my whole life) Sep 03 04:12:48 i plan on being able to export to other popular character sheet software, but ideally my users would be able to use the app instead of a traditional character sheet Sep 03 04:12:58 less erasing that way lol Sep 03 04:13:06 sure ok Sep 03 04:13:12 good idea Sep 03 04:13:20 hopefully Sep 03 04:13:34 if nothing else, itll be a good "case study" Sep 03 04:15:02 yours? Sep 03 04:19:02 sorry for the delay Sep 03 04:19:54 it's supposed to be an application for assisting me during rhythmic gymnastics training Sep 03 04:23:14 what would that entail? Sep 03 04:23:25 ive never done rhythmic gymnastics in my life lol Sep 03 04:25:16 drinfernoo: https://www.youtube.com/watch?v=dl6MchwS4jQ Sep 03 04:31:12 Arancio, https://www.youtube.com/shared?ci=TCjKy5aKGsk Sep 03 04:31:23 no offense, just first thing that came to mind lol Sep 03 04:35:19 Arancio, the component you mentioned above is called a Floating Action Menu (not sure if you found it already but just in case) Sep 03 04:35:21 drinfernoo: the rhythmic gymnastics video reminded you of the Ex-men video? Sep 03 04:35:33 i think it was the staff lol Sep 03 04:35:35 There are several open source libraries that can help you implement the same Sep 03 04:36:03 did you mention a Floating Action Menu? Sep 03 04:36:11 :-) Sep 03 04:36:34 I guess sudshekhar is referring to a discussion that happened earlier today Sep 03 04:36:39 sudshekhar: thanks Sep 03 04:36:41 It was being talked about above ... saw it while skimming the discussion Sep 03 04:36:48 Arancio, no problem! Sep 03 04:38:02 oh gotcha, mustve been before i got on Sep 03 04:38:36 i wish there was a simple way to implement that FAM using the support library's FAB Sep 03 04:40:35 it seems like its become a common enough pattern in a lot of apps now Sep 03 05:12:00 ugh, wifi and bluetooth on my 5x has flaked out Sep 03 05:12:13 no wonder I blew through my data plan... Sep 03 05:13:57 pfn: what does "wifi and bluetooth has flaked out"? Sep 03 05:14:01 mean Sep 03 05:15:00 means they stopped working Sep 03 05:33:47 sounds like a somewhat common problem on LG phones Sep 03 05:34:03 exacerbated in my case by being dunked in water Sep 03 05:34:31 I have the same device Sep 03 05:35:13 do I have to expect the same problem, then? Sep 03 05:35:17 no Sep 03 05:35:35 random. defect, turned up. by also being dropped in water Sep 03 05:38:30 ok. Thanks Sep 03 06:15:39 the Component interface seems a bit redundant in Dagger2 Sep 03 06:16:37 I guess i'm not completely understanding it's purpose Sep 03 06:18:50 Are Scopes a direct reason for having separate Components? Sep 03 06:23:47 anyone around that could help me with a gradle problem? Sep 03 06:25:24 VerbalKint: I missed the context of your comment. Sep 03 06:26:26 jjuran_: his comment is so old that he may be as well dead by now Sep 03 06:26:28 jjuran_: oh, I messaged you instead of someone else Sep 03 06:26:36 https://parkerhiggins.net/wp-content/uploads/2016/05/reimplementanapi.png Sep 03 06:26:45 Arancio: buongiorno Sep 03 06:26:46 Possibly relevant: http://www.v68k.org/macos/ Sep 03 06:27:12 VerbalKint: good to see you aren't dead Sep 03 06:27:14 :D Sep 03 08:07:34 hi everyone Sep 03 08:07:50 we have a problem with android google map Sep 03 08:08:26 it's ok while debugging but whenever we upload the apk to the google play and install the app on phone Sep 03 08:08:37 it's just blank white screent with google logo Sep 03 08:09:00 i've two keys for debugging and also in manifest for release Sep 03 08:09:07 what'd be the case? Sep 03 08:09:26 screen* Sep 03 09:40:04 can anybody give me a good (preferrably visual/diagram) link explaning application states/events + their link to activity states/events + the stack of activities ? Sep 03 10:28:05 could someone help with me probably something very simple in regards to xmlpullparser Sep 03 10:38:32 this is my code and rss feed, i’m trying to get into my item tag which is in my channel tag but am not getting into it, any ideas? http://pastebin.com/QcdPMssJ Sep 03 11:01:54 Test Sep 03 11:02:59 Hi! I recently updated my app to use Android Support Library 24.2.0 and there was a bug in this update. I decided to find sources for this library and look at the diff between 24.1.1 and 24.2.0. I found them at https://android.googlesource.com/platform/frameworks/support but latest commit there is dated by July 1 and there are no tags that looks like Android Support Library versions. I also created SO question http://stackoverfl Sep 03 11:03:00 ow.com/q/39271969/746347 Sep 03 11:03:09 http://stackoverflow.com/q/39271969/746347 Sep 03 11:23:29 Hi, guys. I want to talk about android runtime. Android 7 has art with jit + aot. I have one question. Why android 7 (aot + jit) is more faster, then android 6 (just aot)? Sep 03 11:28:18 where did you read it is more faster? Sep 03 11:29:34 "In Android 7.0, we've added a Just in Time (JIT) compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run. The JIT compiler complements ART's current Ahead of Time (AOT) compiler and helps improve runtime performance, save storage space, and speed up app updates and system updates." Sep 03 11:29:48 (c) https://developer.android.com/about/versions/nougat/android-7.0.html Sep 03 11:30:12 and you really believe that? Sep 03 11:30:37 every year they say they improve gradle performances. is that true? Sep 03 11:30:56 So, google pay millions dollars to developers to develop new runtime cuz what? To downgrade performance Sep 03 11:31:44 I don't know about gradle performance, this tool looks good for me. Sep 03 11:35:30 As I understood they made AOT "smart" so after upgrading to Android 7.0 there will not be dialog like "Optimising applications 1 of 123" that took minutes in Android 5 and 6. Sep 03 11:36:23 And only actively used parts of application are compiled to native code. Sep 03 11:36:41 nickname234: who talked about worse performances? I didn't say that. Sep 03 11:37:35 Actually performance may get worse. Sep 03 11:38:04 Because on Android 5 and 6 every application was fully compiled to native code. Sep 03 11:38:05 michael_ledin: seriously? That's it? This feature saves a couple of minutes of the very rare factory resets? Sep 03 11:39:15 Yeah, michael_ledin says exactly my minds. Sep 03 11:39:36 If we can fully compile application, how it will be more slow Sep 03 11:40:49 I understand, that new ART will collect profile statistic and compile only hot paths. But why this way is more faster Sep 03 11:44:58 I think that it makes sense. On top devices you will not notice difference in performance, but on cheap devices with low memory new AOT+JIT will work better because of smaller amount of memory that's needed to run DEX comparing to native code. Sep 03 11:45:44 I think that there is a memory vs CPU trade off. Sep 03 11:47:48 Oh, it sounds legit. Sep 03 13:18:27 Jesus Christ, the language that I configured changes back to default if I change the orientation Sep 03 13:20:01 It's not enough that I have to deal with View sizes manually so that my activity doesn't restart, but I also have to handle language as well X_X Sep 03 13:29:14 VerbalKint: your doing it wrong Sep 03 13:29:34 Napalm: can you point me the way to doing it right? Sep 03 13:29:53 you have added configChanges to your manifest? Sep 03 13:31:54 VerbalKint: ^ Sep 03 13:33:08 Napalm: locale? no Sep 03 13:33:22 no other things Sep 03 13:33:48 Napalm: have keyboardHidden for this particular activity Sep 03 13:34:11 But really, I don't need it Sep 03 13:35:08 so why are you dealing with configuration changes? and handling the view sizes manually on orientation? Sep 03 13:35:55 VerbalKint Sep 03 13:35:57 Napalm: because I don't want to restart the activity Sep 03 13:36:21 right, but your saying your configChanges doesnt contain anything for that Sep 03 13:36:41 Napalm: for this activity Sep 03 13:36:50 :| Sep 03 13:36:58 ok how about you explain your problem Sep 03 13:37:10 because your not making any sense to me Sep 03 13:37:47 Napalm: https://developer.android.com/guide/topics/manifest/activity-element.html Sep 03 13:38:15 why you pointing me to that? Sep 03 13:38:36 Napalm: if you look at the configChanges, it specifies that it's per activity. The one that I'm testing this one changes the language on orientation change despite having no configChanges. Sep 03 13:42:35 can you explain how you are testing this Sep 03 13:43:10 Napalm: nevermind as I'm solving this on my own. :D Sep 03 13:43:20 fine, but i think its a bug in the support library Sep 03 13:43:40 i just need to know how you are detecting the language change Sep 03 13:44:04 Napalm: I'm just rotating my screen, how else would I test it? Sep 03 13:44:28 i mean, do you realize its changed because its loading a different language strings from your xml? Sep 03 13:44:52 are you changing the language from the system settings? Sep 03 13:45:52 Napalm: ? No Sep 03 13:46:22 VerbalKint: so how do you know the language changes on orientation? Sep 03 13:46:42 Napalm: because I'm rotating my tablet? Sep 03 13:46:51 omg Sep 03 13:47:02 how do you detect the language has changed Sep 03 13:47:18 Napalm: by reading the text Sep 03 13:47:23 different language text is being displayed right? Sep 03 13:47:25 great Sep 03 13:47:30 so thats coming from your resources xml? Sep 03 13:47:34 Napalm: yeah Sep 03 13:47:46 ok we are getting somewhere Sep 03 13:47:58 Napalm: lol Sep 03 13:48:14 ok in your onDestory() Log the result of getChangingConfigurations() Sep 03 13:48:20 Napalm: I thought that me rotating the tablet and reading the text in the other language was implied :P Sep 03 13:48:45 Napalm: ok, doing it right now Sep 03 13:49:07 VerbalKint: is this on N? Sep 03 13:49:18 Napalm: no, it's 4.1 iirc Sep 03 13:51:38 Napalm: it gave the ID of 1152 Sep 03 13:51:53 VerbalKint: in onCreate also Log getResources().getConfiguration().locale Sep 03 13:53:51 Napalm: gives me the correct, default locale Sep 03 13:54:01 before and after rotation? Sep 03 13:54:29 Napalm: after the rotation, I get the wrong locale Sep 03 13:54:46 what are the values you get from the above log for both Sep 03 13:55:08 Napalm: default: en, rotated: ro_RO Sep 03 13:56:04 Napalm: both give 1152 in destroy Sep 03 13:58:23 hey guys Sep 03 13:58:24 Napalm: wait a minute, think that I nailed the problem Sep 03 13:58:31 got an interesting problem Sep 03 13:58:45 VerbalKint: I'm interested to know what it is Sep 03 13:58:53 Napalm: neah, false alarm Sep 03 13:59:05 Napalm: situation's still fubar Sep 03 13:59:14 I have a viewpager which hosts 4 fragments, each fragment has a grid of pictures, now I want these grids to have a MultiChoiceModeListener Sep 03 13:59:52 problem is, setting a `new` one for each of the grids inside each of the fragments causes the listener to be..well, new for each one, causing the toolbar title to reset its count whenever a new picture from a new grid is selected Sep 03 14:00:12 so it *is* multi-choice, but per fragment, I want it to be ubiquitous for all 4 fragments Sep 03 14:00:17 the same multichoicemodelistener Sep 03 14:00:20 VerbalKint: i have to go, sorry, but i would suggest you create a new project with the same compileSdk version and support library versions and see if you can replicate without any other code that might cause your problem and see what happens Sep 03 14:00:39 Napalm|afk: thanks for trying, though Sep 03 14:01:53 I can pass the same multichoicemodelistener to all fragments, but the creation of that listener can't happen without a corresponding gridview for it to be attached to, therefore again attaching it anew, for each fragment.. Sep 03 14:24:01 I need to keep some part of my application state persistent. in which of these events of the android application class should I perform persisting ? onLowMemory, onTrimMemory, - anything else ? Sep 03 14:24:56 is there something like onPause ? onPassivate ? Sep 03 14:27:31 meh, stupid final fantasy game has me hooked Sep 03 14:28:11 which one? Sep 03 14:33:19 Hi , i have to get realtime updates in my android app , i'm thinking of using socket.io is good or can you suggest better alternative , Thank you Sep 03 14:34:44 Ugh, fixed the bug with a hack. I'm going to Coder's Hell when I die for these hacks. Sep 03 14:35:08 VerbalKint: There is no such thing as coder's hell Sep 03 14:35:36 VerbalKint: everything is good if its for you and makes your thing work :D Sep 03 14:37:32 boodllebat, how do you plan on using socket.io in android? WebView? Sep 03 14:37:42 boodllebat: yeah, I know, but I still would like to make things work the right way Sep 03 14:37:53 Mann: no you have a socket.io client Sep 03 14:38:11 Mann: but i already wrote if you know anything better can you tell me ? Sep 03 14:38:32 I'm actually in a similar boat as you so I was just curious Sep 03 14:39:24 Mann: ah Sep 03 14:41:08 hi guys, I am having some problems with my app Sep 03 14:42:05 can anyone help me debug it please? It is really simple Sep 03 14:43:28 Swyper: you need to check for a null pointer at line 73 Sep 03 14:44:10 Mann, brave exvius Sep 03 14:44:42 http://pastebin.com/hCgQ5V2b Sep 03 14:44:57 the error is cannot find symbol activity_main Sep 03 14:45:04 but my xml file is named activity_main .. Sep 03 14:45:15 http://pastebin.com/Jf8teP1u - xml file Sep 03 14:45:19 pfn, thanks. looks good Sep 03 14:46:37 Swyper: pastebin the actual error Sep 03 14:46:56 Error:(24, 32) error: cannot find symbol variable activity_main Error:(38, 65) error: cannot find symbol variable quantity_text_view Sep 03 14:47:13 if it finds activity_main it will find quantity_text_view Sep 03 14:48:05 pfn: can you help ? my question is above ? Sep 03 14:48:16 Mann: what do you think about xmpp ? Sep 03 14:49:23 Leeds: did I post everything you wanted ? Sep 03 14:49:44 boodllebat, Looks interesting. Haven't worked with it before. Sep 03 14:49:46 Mann, I want to try mobius too Sep 03 14:50:15 Swyper: what are you building with? Sep 03 14:50:17 Mann: so how far are you now ? what will you use anything in mind ? Sep 03 14:50:26 Leeds: android studio Sep 03 14:52:04 Swyper, can you verify your activity_main.xml is under resources/layout/activity_main.xml ? Sep 03 14:52:38 https://gyazo.com/865fefc206d9df78c194d85ff9c565d2 Sep 03 14:52:40 screenshot Sep 03 14:52:41 yes it is Sep 03 14:54:50 boodllebat, haven't really started yet. Was still wondering how to approach it. Sep 03 14:54:58 What's your application? Chat? Sep 03 14:55:03 Mann: no Sep 03 14:55:43 Swyper, strange... Sep 03 14:56:05 Swyper: You imported the wrong R class Sep 03 14:57:11 SimonVT: what am I supposed to import? Sep 03 14:57:23 Your apps R Sep 03 14:57:59 Mann: its something related to location , i have to feed GPS cods from mobile to my custom hardware Sep 03 14:59:33 ah Sep 03 15:00:14 SimonVT: thank you very much! Sep 03 15:02:17 Mann: People are going for websockets a lot , but i wanted to know from community what are they using these days Sep 03 15:05:00 use the solution that solves your problem, not what everyone is using Sep 03 15:06:39 during one uptime cycle of the android OS on the device, can I count on this ? : my application object and all the variables I stored in it wont be lost Sep 03 15:10:34 no Sep 03 15:11:05 where should I persist application state if needed ? at activity-onstop level ? Sep 03 15:11:14 yes Sep 03 15:11:27 Or when the state changes Sep 03 15:11:41 which state change ? Sep 03 15:11:52 The state you want to persist Sep 03 15:12:44 I would store in the application object, persist on onstop of an activity, reload from persistence on onresume of an activity Sep 03 15:13:29 differs from j2me however. where that sort of thing was recommended to do at the corresponding app level events Sep 03 15:14:01 why did android choose to do this at activity level rather than at application level ? Sep 03 15:14:50 What'd android choose? Sep 03 15:15:03 Android doesn't care when you persist data Sep 03 15:15:04 I suspect Android has a far more complex application structure and lifestyle than j2me, generally Sep 03 15:15:32 ok Sep 03 15:15:52 does onpause get called when chaining to another activity ? Sep 03 15:16:44 or is onpause effectively only called when an activity is in the foreground and the OS needs to pause it Sep 03 15:16:54 foreground/active Sep 03 15:18:17 It's called when the activity is no longer in the foreground Sep 03 15:18:19 https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle Sep 03 15:19:04 thanks Sep 03 15:19:15 j2me is a garbage platform, entirely Sep 03 15:19:23 so the app passivation is really signalled to the developer at activity level, alright Sep 03 15:20:13 pfn: well - it was ok at its time Sep 03 15:20:20 and it was there way before android Sep 03 15:20:34 no, it was garbage during its time Sep 03 15:22:05 Does it mean something if I can't find my app on google despite searching for its *truly* unique name? Sep 03 15:28:04 pfn: I disagree, lwuit was great Sep 03 15:35:34 there's a reason there are no great and memorable j2me apps Sep 03 15:37:51 I wrote a j2me app once... then realised I wouldn't actually be able to package up enough data to make it worth shipping - it was an app for a large conference, and I needed to get the full conference schedule packaged Sep 03 15:38:24 anyhow - I dont particularly like the idea of persisting application state everytime onpause is called on any of my activities. as far as the diagram shows me, onpause is also called when an activity isnt visible anymore (so basically this would also happen when another activity comes into the foreground/visible) Sep 03 15:38:53 leeds: I wrote a j2me map component, hence my nick Sep 03 15:39:04 a sort of google maps clone, but with osm data Sep 03 15:39:22 persist application state when it changes Sep 03 15:39:25 problem solved Sep 03 15:39:30 ah, OSM... Sep 03 15:40:07 pfn: so it is true that “onPause” also gets called when another activity comes into the foreground inside the same application ? Sep 03 15:40:21 on pause is called constantly Sep 03 15:40:29 any time the activity loses focus Sep 03 15:40:51 pfn: persisting app state whenever it changes wont influence perceived latency in the UI ? Sep 03 15:40:59 I once took a train from Oxford to London with Steve Coast after we'd both spoken at a LUG event there - and my car had hit a speed bump and died... IIRC I was speaking on Palm app development Sep 03 15:41:43 palm app development was somewhat interesting and far superior to j2me Sep 03 15:42:13 tilerendering, do it correctly Sep 03 15:42:16 for sure Sep 03 15:42:22 pfn: what do you mean by correctly Sep 03 15:42:37 I've offered to give a talk at a conference next month on Pebble app dev :) Sep 03 15:42:45 tilerendering, asynchronously when necessary Sep 03 15:43:28 pfn: you mean with a sync thread running ? Sep 03 15:43:49 how you do it is an implementation detail Sep 03 15:43:58 pfn: maybe youve got a helpful link for me Sep 03 15:44:12 I guess there´s some best practice to it, and maybe even already libraries taking care Sep 03 15:44:19 read jcip, pick an approach Sep 03 15:45:00 jeez. no. I m not going to do concurrency programming for something as simple as that Sep 03 15:45:10 but thanks for the advice Sep 03 15:46:05 concurrency is simple Sep 03 15:47:11 programming for concurrency is an overkill imho just to solve a simple caching problem Sep 03 15:47:19 there are out of the box solutions for that Sep 03 15:50:59 how common is it to overwrite the view class? Sep 03 15:52:33 overwrite? extend? common Sep 03 15:53:30 tilerendering, false, and concurrency is a requirement for doing android well Sep 03 15:53:46 (and everything else, for that matter) Sep 03 16:07:26 pfn: well, sounds fun anyhow. I was going to write a datasync thread keeping a balance between memory, persistence, and serverstate Sep 03 16:10:01 pfn: what about this ? https://developer.android.com/training/sync-adapters/index.html Sep 03 16:10:25 it doesn't do much of anything Sep 03 16:19:03 pfn: I d spawn off such a thread a the applications oncreate event, and furthermore it would stay alive until the application dies, right ? what about passivation of the application ? would the thread still be there ? Sep 03 16:27:32 can view components be registered as observers ? Sep 03 16:27:40 I guess so Sep 03 16:32:04 What's a simple way to update the UI thread from a service class? Handler.Post() works fine for a Toast but what if I wanted to update the Activity layout like disabling a button? Sep 03 16:35:40 Mann, have your UI bind to the service and register a listener Sep 03 16:36:56 And perform a broadcast? Seems like such overkill. I'm simply trying to update myButton.Enabled = false after my service stops Sep 03 16:37:03 Hi all, why do we need to call: AudioManager.abandonAudioFocus(mOnAudioFocusChangeListener) inside the if (mMediaPlayer != null) { } Shall we put the abandonAudioFocus method outside of the if statement? I was considering that even mediaPlayer == NULL, we still need to abandon the audio focus. Is it right? here’s the link to the code: https://github.com/udacity/ud839_Miwok/blob/lesson-five/app/src/m Sep 03 16:42:00 What do you guys think about these "app review exchange" websites? Sep 03 16:42:43 Is it against Google Play ToS to have people "forcibly" review your app through them? Sep 03 16:46:12 VerbalKint: at gunpoint? Yes, definitely. Sep 03 16:46:44 Hi all! I'm trying to build android (I'm new to this) and I'm using the recommended Ubuntu 14.04. However, when I try to use make, it says that "make 4.1 is not compatible. make 3.81 is required to build android" Sep 03 16:47:10 abandonAudioFocus Sep 03 16:47:12 But i'm having no luck installing that version of make... How do you guys usually bypass this issue? Sep 03 16:52:56 Goddamn it, don't know how to market my app Sep 03 16:53:11 And I don't wanna spend any money either Sep 03 16:53:59 This kind of websites seem far from trustworthy to me Sep 03 16:54:46 Arancio: one specifically says that you need to rate it with 5 stars Sep 03 16:55:15 Actually, lots of them say this Sep 03 16:57:27 Sounds disingenuous... Sep 03 17:07:31 Is there really no forum where developers can review each others' apps? Sep 03 17:11:02 k, I've only got so far into the doc. But so far it seems that you define the GUI by pixels. But shouldn't you define text size etc by a relative size to the screan instead? Sep 03 17:14:00 VerbalKint: this one. You app sucks. Mine is better. Sep 03 17:14:16 VerbalKint: why are you interested in other developers reviewing your application? Sep 03 17:14:22 Man, I'm so regretting right now that I don't have friends to whom to spam to to install my app X_X Sep 03 17:14:27 Hey all, how can add programatically add a gridlayout that i have defined in xml to a linear layout that I have created in xml? Sep 03 17:14:35 *to a relativeLayout Sep 03 17:14:55 Arancio: not "review", "leave good reviews" Sep 03 17:14:58 VerbalKint: why do you care? people will download your application, not developers. Sep 03 17:15:01 Arancio: not all are so cynical as you :P Sep 03 17:15:33 as in, "you give me 5 stars, I give you 5 stars, we are both happy" Sep 03 17:15:35 Trying to do something like this: https://codedump.io/share/w28FwWuNP1Nx/1/dn Sep 03 17:16:02 I'm not cynical. I often have low blood sugar. Sep 03 17:18:15 I just need to find an ingenious way of making masked advertising Sep 03 17:18:21 VerbalKint: I'd spend less time marketing my app and more time thinking of how to take my app to the next level. Sep 03 17:19:20 VerbalKint: you could pick up girls at pubs and then, between one thing and another, ask them to download your app Sep 03 17:19:25 Arancio: I'm not planning to make Flappy Bird. I'll settle for 1000$/month. Sep 03 17:20:05 VerbalKint: although, given the target demographics of your app, you could have some legal problems with this marketing strategy Sep 03 17:20:39 Arancio: spike their drinks, get their phones, download the app, rate my app then run away. Marvelous idea. :P Sep 03 17:22:36 where - besides this channel - is a good place to ask for android best practices or architectural advice ? Sep 03 17:23:13 VerbalKint: "Emporer"? Sep 03 17:23:31 Arancio: darn you :P Sep 03 17:24:15 Arancio: but it does sound like it's written that way Sep 03 17:25:09 VerbalKint: darn me? I thought I deserved a "thanks" for finding another spelling error of yours Sep 03 17:25:23 Arancio: thanks :D Sep 03 17:25:38 Arancio: didn't mean for it to sound like that Sep 03 17:40:56 Um... any of you a moderator on /r/android? :D Sep 03 17:46:04 Can I have buttons with complex context in Android? For example a button containing a linear layout containing an image and a text view? Sep 03 17:48:17 Afaik no, buttons are not ViewGroups Sep 03 17:48:29 but you can make pretty much any View clickable Sep 03 17:48:47 ^ Sep 03 17:49:05 Button is just a TextView with a background Sep 03 17:49:15 Set the same background on whatever View and it'll look like a button Sep 03 17:55:48 Is it possible to make an action bar completely transparent? Sep 03 17:56:47 yes Sep 03 18:02:24 orbyt_, Leeds, SimonVT thanks Sep 03 18:02:46 how? if I set the background to android:color/transparent it still shows borders Sep 03 18:11:58 That's probably elevation, try setting that to 0 Sep 03 18:12:02 tete94: if your using a toolbar as an action bar, youll have things like the shadow youll need to get rid of. Sep 03 18:12:09 ^ ninjad Sep 03 18:12:17 plenty of SO questions on this though Sep 03 18:12:19 hm, any ideas on this ? http://programmers.stackexchange.com/questions/330116/android-persistence-and-synchronization-of-application-state Sep 03 18:13:33 tilerendering: you posted that in the wrong place Sep 03 18:13:37 use StackOverflow Sep 03 18:13:58 but to answer your question: Use a realm database and store the object there whenever you want Sep 03 18:19:42 it was the elevation, thanks! Sep 03 18:22:22 For my "create" part of the CRUD activities, I'm facing the problem to having enough data to create a row in my database before I actually create it. After that it's not "Create" anymore, it becomes "Update". I'm making a sequence of activities where you are forces do input data and make choices, when I have all the data that I need create the row and move to an "update" activity. Each of the "step" activities is terminated when I move to the next Sep 03 18:22:22 step so that if the user presses the "back" button, they go back to the activity where they pressed the "+" button. Is this a good approach? Sep 03 18:23:40 forces -> forced Sep 03 18:24:10 Should I use dialogs instead? I prefer these activities but I don't know what's more "Android". Sep 03 18:26:11 Should I keep all intermediate steps alive until I complete the creation and only then terminate them, so that the user can step back and change their choices? Sep 03 18:27:04 Should visualize all steps in a single activity using fragments? Changing fragments as I go? Sep 03 18:27:05 Say you're about to install something on your computer. It takes you through 10 pages during the install. If you press back on page 9, do you expect it to take you to page 1? Sep 03 18:27:29 Ok, so I should keep them alive. Sep 03 18:27:56 What's worst is that even if don't terminate them I can't be sure that Android doesn't (am I right?) Sep 03 18:28:23 So I probably should use only ONE activity and visualize all "steps" as fragments. Sep 03 18:28:32 Is this conclusion correct? Sep 03 18:28:32 Sure, the user might leave to take a call on page 10, and Android might kill your process during that call Sep 03 18:28:53 But you should restore all state when re-created Sep 03 18:30:28 SimonVT: why isnt android itself able to save an applications full state on passivation/termination ? it would be totally feasible to store it Sep 03 18:30:39 Android will restore your activities and pass saved state Sep 03 18:30:47 tilerendering: How large is "full state"? Sep 03 18:31:02 is state automatically saved then ? Sep 03 18:31:06 Is it a 200 MB bitmap cache? That might take a while to persist/restore Sep 03 18:31:08 Anyone familiar with the function setPermissionGrantState in DevicePolicyManager class? PM me if you are Sep 03 18:31:17 SimonVT: hm youre right with that Sep 03 18:32:02 Activities (and Fragments and Views) have onSaveInstanceState for saving a few variables (e.g. a bitmap url) Sep 03 18:32:38 Everything else you must persist/load.. Bitmaps, database queries, .. Sep 03 18:33:39 SimonVT: so I could do my persistence in onsaveinstancestate as well and override itwhile first calling super.onsavebla Sep 03 18:34:19 If that's when you want to persist your data Sep 03 18:34:26 Not sure why you're not just doing it as the data changes tho Sep 03 18:35:22 SimonVT: the whole point of having things in memory is to not constantly access slower storage Sep 03 18:35:24 that´s why Sep 03 18:35:29 SimonVT: I have to urgently get AFK. I will read your answer in 1/2 hour. Sorry and thanks very much. Sep 03 18:35:39 I thus only want to persist if absolutely necessary Sep 03 18:36:14 Spinning up a thread that saves to disk has no effect on the speed of your memory cache Sep 03 18:36:22 now when would they have to be read out of persistence again ? what is the antagonist of onsaveinstancestate ? Sep 03 18:37:06 SimonVT: well yeah but it involves spinning up a thread to persist. I want to use the thread … well maybe you can tell me which of the 2 ways to go then: http://programmers.stackexchange.com/questions/330116/android-persistence-and-synchronization-of-application-state Sep 03 18:37:24 You want to use that thread? Sep 03 18:37:42 That threads sole purpose is persisting Sep 03 18:38:20 no please read the link Sep 03 18:38:44 You know you can have more than 1 thread, right? Sep 03 18:38:59 yes... Sep 03 18:39:06 Alright, just making sure Sep 03 18:39:10 if you read the link, you will see that I know. Sep 03 18:39:14 Anyway, I've given my recommendation Sep 03 18:39:19 ok Sep 03 18:39:26 to me, there is still too much open Sep 03 18:39:37 (which is probably what 99% of apps out there do) Sep 03 18:39:45 hm Sep 03 18:40:04 how would you communicate with that thread, having it as an observer rgisred to the appstate to be persisted ? Sep 03 18:40:11 registered Sep 03 18:40:18 I would start a new one when the data changes Sep 03 18:41:01 with the data as param to be persisted I guess Sep 03 18:43:00 all manning ebooks 50% off Sep 03 18:43:08 oreilly has huge sale too Sep 03 18:49:25 thepoosh ! Sep 03 18:49:31 g00s: sup? Sep 03 18:49:40 did you hear about the Note 7? Sep 03 18:49:47 batteries exploding ? Sep 03 18:51:26 i guess the Pixel / Pixel XL should be out any moment now Sep 03 18:51:41 kinda nervous nexus brand seems to be going, hoping these are still good value devices Sep 03 18:52:44 I honestly don't care what they call it, or how AOSP it is, as long as I get fast updates Sep 03 18:53:05 isn't how fast updates are, a function of how aosp it is ? Sep 03 18:53:17 especially if the soc drivers are maintained in aosp Sep 03 18:53:41 Is it? If google develops their google experience alongside the next android version, it doesn't have to be Sep 03 18:54:07 i'd like a really stripped down experience, where i just add the few things i want from Play Sep 03 18:54:21 i'd install gmail, maps, google+ maybe .... thats about it Sep 03 18:54:27 good morning everyone :) Sep 03 18:54:57 how are you g00s? Sep 03 18:55:15 hey drinfernoo ... jake turned around ok and he's still with us for now, for little longer ;) Sep 03 18:55:40 s/jake/dog Sep 03 18:55:41 lol Sep 03 18:56:06 thepoosh try as 2.2 rc yet ? Sep 03 18:56:07 oh thats great :) Sep 03 18:56:21 ;) Sep 03 18:57:07 ive been worried lol Sep 03 18:57:49 thx Sep 03 18:58:26 my neighbor made him pork cookie treats and thats around when he started feeling better :P Sep 03 18:58:42 hm, the kotlin book is almost done Sep 03 18:59:41 Anyone ever used setPermissionGrantState from DevicePolicyManager? Sep 03 18:59:55 i was up late trying to figure out how to use git filter-branch Sep 03 19:00:05 SimonVT: why do you care about fast updates? Sep 03 19:00:14 it worked, but i was pushing and pulling like crazy Sep 03 19:00:17 g00s: nah, stopped trying beta builds Sep 03 19:00:30 waiting patiently for stable builds Sep 03 19:00:39 Because I like to try the latest and greatest, and having a device for dev Sep 03 19:00:46 https://goo.gl/images/woI4KF Sep 03 19:05:32 thepoosh SimonVT ... do you guys know when j/j + instant run are supposed to work ... at the same time? doesn't sound like AS 2.2 Sep 03 19:05:53 and what is going on with j/j i almost never hear anything about it Sep 03 19:05:56 should akready be part of 2.2 Sep 03 19:05:58 no? Sep 03 19:06:18 isn't java aosp compiled with jack for android 7 ? Sep 03 19:06:49 i thought once android 7 was officially out, j/j would be final Sep 03 19:06:56 or stable Sep 03 19:08:27 Not sure what their plans are for a final release Sep 03 19:11:35 Does the EditText underline make sense in very high EditTexts? Is removing it considered a bad practice? Sep 03 19:12:22 The EditText is also the only editable view in the whole activity Sep 03 19:12:58 j/j will be 2 years old from announcement this december Sep 03 19:19:11 Anyone ever used setPermissionGrantState from DevicePolicyManager? Sep 03 19:24:13 thepoosh did you see that article about fb's new compression algo ? Sep 03 19:24:34 I read something about the content rating system Sep 03 19:24:37 fucking up stuff Sep 03 19:24:50 but not about a compression algo Sep 03 19:24:57 is it middle out? Sep 03 19:25:06 middle out ? Sep 03 19:25:36 https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/ Sep 03 19:26:41 real-time compression, wonder if it has application in glide's video codec? Sep 03 19:33:57 can android library projects have androidTest in gradle? Sep 03 19:40:32 isn't it just the plugin that makes it a library? Sep 03 19:40:49 pfn yes, i have one Sep 03 19:41:31 oh ... do you mean just the test deployed as a new artifact ? Sep 03 19:42:20 can you connectedAndroidTest on a library? Sep 03 19:42:26 yes Sep 03 19:42:45 weird Sep 03 19:42:56 i take some internal classes from android, with their tests, and create libraries for them Sep 03 19:43:13 in tests go into andordTest Sep 03 19:44:43 k, I've only got so far into the doc. But so far it seems that you define the GUI by pixels. But shouldn't you define text size etc by a relative size to the screan instead? Sep 03 19:45:15 so you have the library plugin applied and you can connectedAndroidTest? Sep 03 19:45:33 yes Sep 03 19:45:43 odd, ok Sep 03 19:46:10 thanks Sep 03 19:48:08 * pfn plans out feature refactorings Sep 03 19:48:32 Hi. Is there any way using Android Studio I can check to see if I forgot to release any resources in an activity when onStop() is called Sep 03 19:48:55 Or failed to release any memory etc. Something along the lines of using Valgrind for C Sep 03 19:52:14 pffffffft: you use dp and sp Sep 03 19:52:46 whatitis: I use what? what's that? Sep 03 19:53:16 sp is for text Sep 03 19:53:25 and sp is what? Sep 03 19:53:42 sp is similar to device pixels with the difference that it will also change based on users preference Sep 03 19:53:54 because in settings the user can change the default font sizes Sep 03 19:54:09 kk Sep 03 19:55:13 is the GUI framework a library or deeply integrated with the OS? Is the OS just providing some basic draw functions where the rest is implemented in libraries? Sep 03 19:56:29 Faizan https://medium.com/freenet-engineering/memory-leaks-in-android-identify-treat-and-avoid-d0b1233acc8 Sep 03 19:56:33 also check out leak canary Sep 03 19:56:53 leak canary thats what I was thinking off! Sep 03 19:56:57 you da man g00s, thanks Sep 03 19:57:03 yw Sep 03 20:00:31 g00s knows it all Sep 03 20:03:36 nope Sep 03 20:09:16 * capella-5x -> just another poor starving dev Sep 03 20:13:52 Hi, how hard is it to build the stock android (from the AOSP) for a phone? I have a BQ Aquaris E4, with Lollipop, and I want to upgrade it to Marshmallow. From what I've seen you just have to pull a hardware config file from the phone and then I'll be able to compile android from source to that phone. Is that issue-proof? Or will I risk having problems with the build (Stuff not working correctly?) Sep 03 20:15:10 #android-root Sep 03 20:16:05 Astlan: are you developing a Android application that builds Android for a specific phone? Sep 03 20:24:38 g00s does seem to know quite a lot though lol Sep 03 20:25:01 Arancio: No, I just want to build a newer version (pure Marshmallow, no custom changes) of Android for my old phone (thought it would be a cool project and plus, I get a new version xD) Sep 03 20:25:52 Astlan: then, as Zharf kindly suggested you should ask that question to #android-root Sep 03 20:29:56 capella-5x: you should follow pffffffft's footsteps. He's going to make EXACTLY 100$/mo. Not one cent less, not one cent more. Sep 03 20:30:29 capella-5x: he's engineering an application exactly for that revenue target. Sep 03 20:30:44 No more starving developers Sep 03 20:31:26 perhaps one less slightly starving one if he's successful Sep 03 20:32:58 there are not ifs Sep 03 20:33:23 didn't see the entire scrollback but that seems usually modest goals wise... then again, he hasn't seemed to grok view layout resolution Sep 03 20:37:43 are we batting him around like a cat toy? or does he have potential? 😆 Sep 03 20:38:14 everybody has potential Sep 03 20:38:36 :D Sep 03 20:42:04 seems like you can spend an eternity to fully go through the GUI api? Sep 03 20:42:09 good answer 👍 Sep 03 20:42:21 lots of classes and details Sep 03 20:54:17 Do these two buttons make any sense to you? In their meaning understandable? Sep 03 21:02:13 Sorry, I forgot the link: https://s17.postimg.io/v7p1q9ze7/Kinds.png Sep 03 21:02:31 no Sep 03 21:02:38 where are the buttons? Sep 03 21:02:39 not really Sep 03 21:02:50 is it the text labels? Sep 03 21:02:56 they don't look like buttons, and without the caption id be lost Sep 03 21:04:43 dr_infernoo: the text is there for a reason Sep 03 21:05:01 where are the buttons? Sep 03 21:05:04 thepoosh: the buttons are image + text Sep 03 21:05:27 drinfernoo: the two rectangles are supposed to be clickable Sep 03 21:05:35 Arancio: that is not a traditional button and the user will probably be as clueless as I am Sep 03 21:05:43 Arancio, https://material.google.com/components/buttons.html Sep 03 21:05:54 <^arcade_droid> Hey, is there an existing implementation of the data table card? Sep 03 21:06:04 I have been thinking about trying to prevent cheating for my word game and if I for each puzzle send the puzzle and the relevant dictionary (there are different ones depending on the puzzle) I make it quite hard for a cheater to write a new client that can cheat it. but is it worth preventing cheating? The cheating really only applies to leaderboards and making multiplayer bots. It also Sep 03 21:06:05 will increase traffic for my backend which will increase costs. Sep 03 21:07:32 <^arcade_droid> There's this https://material.google.com/components/data-tables.html Sep 03 21:07:38 nit: and the images for "quantized" are oddly blocked in 6's vs expected 5 :-/ Sep 03 21:07:49 <^arcade_droid> Is there an implementation of it? Sep 03 21:09:12 drinfernoo: I wanted special big buttons with an image. Aside from a text requiring to pick one of the two choices there would be nothing else on the activity Sep 03 21:10:02 capella-5x: you are right. I'll fix that! Sep 03 21:10:03 that seems like a bad ux, imo Sep 03 21:10:23 drinfernoo: I can understand that it's unusual. But why is it bad? Sep 03 21:11:24 what is the context of continuous and quantized? is your target audience going to understand? you may consider using vocabulary that gives a clearer idea of what the "buttons" actually mean Sep 03 21:12:00 you may also consider finding more "standard" iconography to use Sep 03 21:12:52 drinfernoo: it's about drills that are measured in seconds (continuous) and drills that are measured in repeats (quantized). Sep 03 21:13:00 im looking for examples lol Sep 03 21:14:29 drinfernoo: "running" is something you do for 1 minute, you don't count the steps. "Apparatus throws" is something that you measure in repeats. Sep 03 21:14:57 but why do you need your user to choose between the two? Sep 03 21:16:22 why not give a choice between various activities, which may be easier to differentiate, like running/walking/throwing/pushups/etc..., and decide whether its something thats continuous or quantized for them? Sep 03 21:16:25 drinfernoo: for the same reason you need to choose between two options in your application. It's really domain specific. I don't understand anything about RPG Sep 03 21:16:35 sure Sep 03 21:16:40 drinfernoo: and won't tell you what your app has to do. Sep 03 21:16:46 yeah,ok Sep 03 21:16:46 lol Sep 03 21:16:50 :) Sep 03 21:17:29 for example, you dont want to ask your user whether they want to measure running by steps or time Sep 03 21:17:45 you want to know that theyre running, and measure it accordingly Sep 03 21:18:03 i could be wrong, but thats how i would approach it Sep 03 21:18:33 drinfernoo: it's more complicated than that. I really should explain how my application works. It's not the training app from Nike. It's more sophisticated. It has no sense to discuss these details. Sep 03 21:18:41 ok Sep 03 21:18:48 drinfernoo: but thanks Sep 03 21:18:56 just trying to help ;) Sep 03 21:19:13 Sure, I understand that. I didn't get offended or anything. Really thanks Sep 03 21:21:41 youre welcome :) Sep 03 21:22:13 This discussion has been helpful despite the difficulties in understanding. Sep 03 21:22:30 Maybe I found I slightly different way to express the same concepts Sep 03 21:22:59 What worries me is the judgement that two big buttons with image and text on the activity are going to be a bad UX Sep 03 21:23:43 I have been thinking about trying to prevent cheating for my word game and if I for each puzzle send the puzzle and the relevant dictionary (there are different ones depending on the puzzle) I make it quite hard for a cheater to write a new client that can cheat it. but is it worth preventing cheating? The cheating really only applies to leaderboards and making multiplayer bots. It also Sep 03 21:23:44 will increase traffic for my backend which will increase costs. Sep 03 21:23:53 Even more for tablets Sep 03 21:25:22 Arancio, idk if its "bad", im probably just not connecting the context Sep 03 21:25:51 looking at that image, i wouldn't have had any idea they were buttons Sep 03 21:27:47 I'll look into that too, thanks. That was just an Illustrator mockup, not an actual screen capture from the device. Sep 03 21:29:37 I have been thinking about trying to prevent cheating for my word game and if I for each puzzle send the puzzle and the relevant dictionary (there are different ones depending on the puzzle) I make it quite hard for a cheater to write a new client that can cheat it. but is it worth preventing cheating? The cheating really only applies to leaderboards and making multiplayer bots. It also Sep 03 21:29:37 will increase traffic for my backend which will increase costs. Sep 03 21:30:12 raubtier: repeating the same message over and over is not very polite Sep 03 21:30:25 raubtier: repeating the same message over and over is not very polite Sep 03 21:30:58 Get users first Sep 03 21:31:17 raubtier: how many people are cheating currently? Sep 03 21:33:06 raubtier: how many people are cheating currently? Sep 03 21:33:43 havent released Sep 03 21:33:52 but it might be hard to add anticheating later. Sep 03 21:34:17 since it is a wordpuzzle and if i give out the dictionary with version one then it is always avilable... Sep 03 21:34:32 Later is when the cheating comes out Sep 03 21:36:11 raubtier: you'll release v2 with anti-cheating and new challenges Sep 03 21:39:48 raubtier: if someone wants to cheat, they can just tell your server that they won, without the need to know the challenge and the correct answer. api.won(); api.won(); api.won(); api.won(); api.won(); api.won(); api.won(); api.won(); api.won(); api.won(); Sep 03 21:40:12 <^arcade_droid> Lol Sep 03 21:40:53 raubtier: they could also write write a version of your app that algorithmically solves your puzzles, even if you send them one by one. Sep 03 21:44:10 raubtier: and chances there are that nobody will play with your application except for me and your sister Sep 03 21:44:19 Arancio: i know. i was thinking that you have to at least send a solution, then you cant jsut send "i solvd puzzle X" Sep 03 21:44:53 raubtier: what kind of puzzles are there. Can they be solved programmatically? Sep 03 21:46:08 raubtier: can you update you app automatically? If you later want to implement anti-cheating you just make the app update itself and change the api of your server so that the old one doesn't work Sep 03 21:47:06 raubtier: sure checking the solution on the server would be more smart Sep 03 21:48:28 Arancio: yes you can solve them programmatically Sep 03 21:48:34 it is a word puzzle game Sep 03 21:48:57 meinteil_: how are you? How do you know raubtier's game? Sep 03 21:48:59 who Sep 03 21:49:15 (i am raubtier) i could make it harder by not storing the dictioanries with the game Sep 03 21:49:36 Hey JakeWharton I'm trying to work with an endpoint that gives me back encrypted data that once it's decrypted is JSON. I want to get this to work with retrofit and the GSON converter. Any ideas? Sep 03 21:49:47 but if i dont in version 1 then the hacker already has acquired the dictioanries Sep 03 21:50:07 meinteil_: yes, just provide the challenges and check them on the server, like passwords. Sep 03 21:50:21 meinteil_: keep in mind that people will not be able to play without connectivity Sep 03 21:50:33 meinteil_: do you want that? Sep 03 21:50:36 Arancio: yes that is my main point against that method, is that ok? Sep 03 21:50:57 i dont want it but i dont know if it is a problem really, people are always connected right? Sep 03 21:51:08 don't think people will like to have to be connected to play a word puzzle game Sep 03 21:51:17 not always Sep 03 21:51:38 bad reception, data quota over, etc. Sep 03 21:51:39 you are probably right Sep 03 21:52:00 gamers are kids and kids often don't have much money Sep 03 21:52:12 for people to cheat there must be money or prestige Sep 03 21:52:21 yes Sep 03 21:52:44 unless your game becomes very popular, like shitty birds, people won't cheat Sep 03 21:53:02 if it becomes that popular, you'll make download another version and they will comply Sep 03 21:53:13 but sending the dictionary and the puzzle together is a pretty good anticheating hack. then you cannot automate the cheating until you have gotten all the dictionaries. But it would raise backend traffic and phone traffic sending a lot more data Sep 03 21:57:31 <^arcade_droid> The easiest way to detect cheating unfortunately is to make sure the application's signature is valid and the phone has no root access. Sep 03 21:57:49 <^arcade_droid> There are methods to detect root with 100% accuracy. Sep 03 21:57:58 Yes, how can i do that? iw as thinking is there no checksum on the application? Sep 03 21:58:14 <^arcade_droid> It's always signed Sep 03 21:58:40 <^arcade_droid> Either google's test key or your own private app signing key Sep 03 22:00:10 but the hacker can get access to the checksum i guess and then also modify it so it does not work either i guess Sep 03 22:00:58 meinteil_: do you realize that probably the only people playing with your app will be me and your sister? Sep 03 22:00:58 but i still cant prevent the hacker from obtaining that checksum right? Sep 03 22:03:50 Arancio: Doesn't matter, it is even worse if you think like that, get popular and then dont make as much oney as you could bc of things you could have prevented. I mean actually managing to get popular and then fall on something like that... Sep 03 22:03:56 <^arcade_droid> But remember, it's incredible dick move to implement anticheat at that level. Sep 03 22:04:13 why is it a dick move? Sep 03 22:04:36 <^arcade_droid> At one point it's just annoying to the players and the cheater, really, if the only thing they're going to get are scores, they won't bother. Sep 03 22:05:09 <^arcade_droid> Rooted players, players outside of GPlay coverage, they won't be able to play if you implement SafetyNet Sep 03 22:05:10 You mean it increases their internet quota which is worse than having some cheaters? Sep 03 22:05:15 <^arcade_droid> Yes Sep 03 22:05:44 yes that is a good point, and it also increases my backend traffic which ill be a cost for me and might even eat my profit! Sep 03 22:06:08 <^arcade_droid> Make the stats reset every 24h and cheaters won't bother, the few you can remove manually. Sep 03 22:06:16 if i want to pass an ArrayList through an intent, how do i do that? Sep 03 22:06:48 MyObject implements MyInterface Sep 03 22:06:49 <^arcade_droid> Or make the leaderboard just based on a friends list or something Sep 03 22:06:59 MyInterface extends Serializable Sep 03 22:07:00 MyObject must be parcelable https://developer.android.com/reference/android/os/Parcelable.html Sep 03 22:07:18 yeah i will probably have two leaderboards, GLOBAL and FRIENDS Sep 03 22:07:20 drinfernoo: I guess you can pass an array of parcelable objects Sep 03 22:07:44 <^arcade_droid> The moment your anticheat or licensing system starts annoying users you have made a mistake Sep 03 22:07:53 Parcelable[] or List? Sep 03 22:08:18 drinfernoo: check the API, I guess it's Parcelable[] Sep 03 22:08:48 drinfernoo: I think you can pass serializable too. Parcelable are lighter Sep 03 22:09:00 ^arcade_droid: good point Sep 03 22:09:04 thanks! Sep 03 22:11:20 what is the namespace android="http://schemas.android.com/apk/res/android" denoting/used for? Sep 03 22:12:02 pffffffft: XML attributes and element name have namespaces Sep 03 22:12:10 <^arcade_droid> meinteil_ One thing more is you have to select your priorities, a) App developement b) Moderating or c) Improving anticheat. Sep 03 22:13:03 ^arcade_droid: how is anti-cheating not part of development? I don't understand you last statement Sep 03 22:13:12 your Sep 03 22:13:35 Arancio: yes, but what is that specific url used for/denoting? Sep 03 22:13:47 what is that spcific namespace doing? Sep 03 22:14:21 Yes i have decided that this will be a problem I solve when and if I actually get a lot of users Sep 03 22:14:40 pffffffft: it's a namespace. It does what every namespaces do Sep 03 22:15:07 <^arcade_droid> Let me rephrase, "a) Improving the app for users" "c) Improving the app for you (to reduce 'b)')" Sep 03 22:15:27 pffffffft: https://en.wikipedia.org/wiki/XML_namespace Sep 03 22:15:57 ^arcade_droid: thanks for the explanation Sep 03 22:20:29 <^arcade_droid> Small question, does anyone know if there's an existing implementation of material data tables card available somewhere? Sep 03 22:21:14 so im trying to make a custom ViewGroup (extends LinearLayout) parcelable, and i have no default constructor Sep 03 22:21:30 only CustomGroup(Context context) Sep 03 22:21:34 how do i handle that? Sep 03 22:22:25 You don't, can't parcel views Sep 03 22:23:33 drinfernoo: do you need to pass a view around? Unless a class extends a parcelable you can't make it parcelable Sep 03 22:23:45 crap, im gonna have to figure that out Sep 03 22:24:06 Views are tied to a specific Activity instance Sep 03 22:24:10 pass the models, not the view Sep 03 22:24:14 yeah Sep 03 22:30:31 What would be a good way to display nutritional info of an entire week's meals? Sep 03 22:31:26 Tabs? Tabs with cards? Cards? Card? Sep 03 22:32:25 zarcade_droid: a table of average per day? a table per day that you can swipe around? Sep 03 22:32:54 Exactly, I have no idea. What would be the best way to do that? Sep 03 22:33:01 zarcade_droid: or a tabbed interface, yes Sep 03 22:33:55 zarcade_droid: what's important on a diet is the average. You can eat really a lot one day and you won't get fat. What matters is what you do over a week and over a month Sep 03 22:34:28 zarcade_droid: so a view of average value is important, I guess Sep 03 22:34:32 values Sep 03 22:34:44 I am not building a nutritional advisor app, I might in the future offer exporting (after I know what services people use) but for now I just wish to stick with displaying Sep 03 22:36:24 yeah, but people read the view for a purpose. and usually per day intakes are not interesting. But that's my opinion Sep 03 22:36:41 Another opinion of mine is that I like swiping more than tabbing on smartphones Sep 03 22:37:00 Swiping what way? Sep 03 22:37:36 zarcade_droid: left and right to browse the week days. Don't know what widgets you should use though Sep 03 22:38:27 Okay, that would fit with the rest of the UI too, I am already displaying a timetable as tab per day. Sep 03 22:38:36 So it would be consistent in that way Sep 03 22:40:37 Maybe hide the nutritional data unless clicked? Sep 03 22:41:11 Until that just show a list of components of the meal and the approx amount Sep 03 22:41:36 zarcade_droid: it's hard for me to imagine your UI now, sorry. Maybe you can make a mockup? Sep 03 22:42:07 I'm mocking up too Sep 03 22:55:12 How much save space do you have on the phone? Sep 03 22:55:28 Depends on the phone Sep 03 22:59:47 is there a minimum? Sep 03 23:00:14 can it be retrieved? Sep 03 23:00:24 how much there is and how much that is ued Sep 03 23:06:25 I'm writing an interface for an Encryptor. It will contains encrypt(Type?) and decrypt(Type?). My question is... in java... what's the preferred type? Do I want String as the type? Won't that go into a String pool? Maybe not what I necessarily want right? Sep 03 23:13:09 there are no string pools Sep 03 23:15:34 Only circular public pools Sep 03 23:20:41 eghdk: you usually work on bytes[] Sep 03 23:21:07 eghdk: so that you can encrypt images as well as text Sep 03 23:25:24 Hm. Good point. Thanks! Sep 03 23:25:54 Arancio: I can go from a string to byte[] easily I assume? Sep 03 23:26:46 eghdk: getBytes() Sep 03 23:27:09 =/ my inexperience is showing. lol. Thanks! Sep 03 23:27:25 mine too. I googled it. I'm a Java newbie Sep 03 23:28:43 googling it is how you do it, it's ok to not know every possible library method Sep 03 23:28:46 or class Sep 03 23:29:40 Makes sense. I guess I should've tried a quick google. But I guess asking didn't hurt. oh well. Thanks anyway Sep 03 23:33:35 for an editbox, layout_weight is set in the XML and works as expected. If I omit layout_width, the application crashes? but why? D: Sep 03 23:42:07 pffffffft: do you know what the Karlovsky projections are? Sep 03 23:43:08 no a Arancio Sep 03 23:44:19 Arancio, i figured out the parcelable thing, btw. you can pass a Parcelable[] via putExtra(), or an ArrayList via putParcelableArrayList(), as long as your class does implement Parcelable correctly. Sep 03 23:44:40 pffffffft: sorry then. You wouldn't understand the explanation for why the application crashes if you omit layout_width Sep 03 23:44:58 Arancio: ok Sep 03 23:45:48 drinfernoo: thanks. I didn't know that. I used parcelables only one time Sep 03 23:46:51 im trying to figure out what Parcelable.describeContents() is useful for, though? lol Sep 03 23:48:44 drinfernoo: because of Karlovsky projections Sep 03 23:51:02 i... dont know what that means lol Sep 03 23:51:35 it's an advanced Computer Science topic Sep 03 23:52:46 i feel like you're messing with me lol Sep 03 23:56:10 drinfernoo: he is, he's doing nothing but trolling you Sep 03 23:56:35 drinfernoo: it's autistic, you should probably just ignore it Sep 03 23:56:59 :D Sep 03 23:57:11 drinfernoo: I was joking with pffffffft Sep 03 23:57:44 lol Sep 03 23:57:51 drinfernoo: http://stackoverflow.com/questions/4076946/parcelable-where-when-is-describecontents-used/4914799#4914799 Sep 03 23:59:23 i saw that but i don't get what he's trying to say lol Sep 03 23:59:51 Will using HTTPS without a certificate prevent middlehand attacks? Sep 03 23:59:59 is it something to worry about? middle man attacks? Sep 04 00:00:32 bye bye for now lol Sep 04 00:01:59 raubtier: look you are writing a word puzzle game, not the targeting system of an intelligent nuclear missile Sep 04 00:07:44 raubtier: Answer to the first question is no. The point of the certificate is to sign/verify that the encryption key indeed comes from your server. A man in the middle can use his own encryption key if there is no certificate expected. server<--encrypted_with_server_key-->MITM<--encrypted_with_MITM_key-->client. You can make your own certificates if we're not talking about the world wide web but your server/client only. Sep 04 00:09:01 raubtier: in this example, if there was a certificate, the client could verify that the encryption it's seeing is defined by the server and not some attacker. Sep 04 00:09:43 raubtier: the attacker shouldn't be able to sign an encryption key with the servers certificate Sep 04 00:20:00 pffffffft: they apparently could not pick a meaningful default value for layout_width and Android will just throw an exception if you don't use it. You should also get a warning from your editor. I get it. If you use _weight you may want to set width to 0dp Sep 04 00:36:49 My friend pfffffft quitted without saying goodbye Sep 04 00:37:11 sads Sep 04 00:46:55 Arancio: how come you're awake at this hour? Sep 04 00:48:50 VerbalKint: given that you are UTC+3 then question is: how come you're awake at this hour? Sep 04 00:49:29 Arancio: aren't you guys GMT+2? Sep 04 00:49:43 VerbalKint: anyway, I'm playing with your game, that's why Sep 04 00:50:02 Arancio: of course. Glad that you got hooked :P Sep 04 00:50:47 :-) Sep 04 00:52:28 VerbalKint: how are you dealing with cheaters? why aren't you as worried as raubtier? Sep 04 00:52:46 Arancio: who would bother cheating in my app? :D Sep 04 00:53:38 VerbalKint: that's what I attempted to tell him, without being blunt Sep 04 01:00:03 VerbalKint: 1 update of your application is available!!!!!! Sep 04 01:01:03 Arancio: features raytracing, fully sentient AI and can calculate the whole of Pi. Big update. Sep 04 01:01:52 and the usual boatload of typos Sep 04 01:02:06 and historical inaccuracies Sep 04 01:04:47 X_X Sep 04 01:05:32 :D Sep 04 01:12:11 VerbalKint: can I show you a screen? could you check the UI/UX? Sep 04 01:12:41 Arancio: of what? Sep 04 01:13:03 VerbalKint: an Android application. Otherwise it would be offtopic Sep 04 01:13:25 Arancio: asking because I don't want you to post a pic of mine, so sure Sep 04 01:13:51 VerbalKint: ah ok. Don't worry Sep 04 01:42:49 I can't manage to remember any one of the amazing tips Android Studio gives me every time I start it... Sep 04 01:49:08 Ok, I managed to make a RelativeLayout react like a Button. How do I manage to make it appear like a button? I have no visual feedback for the tap and no shadows. Sep 04 01:51:18 hello Sep 04 01:51:43 is it possible for me to build AOSP and then put that on my huawei y300 phone? Sep 04 01:52:30 rain1: #android-root Sep 04 01:52:56 I hope it rains on your huawei y300 and it melts Sep 04 01:53:19 unless it's waterproof. Then it may just drop Sep 04 01:53:29 fall to the ground Sep 04 01:53:42 bounce in the middle of a road Sep 04 01:53:58 then a big truck passes on it Sep 04 01:55:05 harsh dude Sep 04 02:07:17 I'm sorry Sep 04 02:07:40 rain1: I've been too harsh. I'm sorry Sep 04 02:07:59 rain1: friends? Sep 04 02:08:28 dude, i hate when editText auto gains focus, so annoying Sep 04 02:12:25 if you don't want the keyboard to auto-open, it's simple enough to bypass Sep 04 02:12:48 im currently having my other view , is there a simpler way? Sep 04 02:13:54 http://stackoverflow.com/a/7009155/857853 Sep 04 02:14:25 not sure what you consider simpmler but that's an alternative Sep 04 02:14:58 very nice, does that also fix the issue where if you click outside the textview , it doesnt close the keyboard if it's open Sep 04 02:15:12 id probably consider anything i can do in xml simpler :P Sep 04 02:54:16 https://codeshare.io/gyOQq could anyone tell why 5 images are not displaying Sep 04 02:54:18 ? Sep 04 02:54:21 only shows one Sep 04 02:54:29 it's like it's overriding Sep 04 02:54:34 always the s the holder is only 1 Sep 04 02:58:07 This might be interesting for anyone considering starting a Xamarin project: https://github.com/mgj/MvvmCross-Dreams Sep 04 02:59:31 liefer: what is it about? **** ENDING LOGGING AT Sun Sep 04 02:59:58 2016