**** BEGIN LOGGING AT Mon Oct 17 02:59:58 2016 Oct 17 03:00:38 Gotta do a pressie on this thing in November, so I'm trying to keep things simple and functional. Oct 17 03:00:53 I was wondering.. do people even bother with AsyncTasks instead of loaders? haven't extensively used either... but Loaders seem fantastic... Oct 17 03:00:55 AsyncTask sucks :( Oct 17 03:00:56 I'm not explainign AIDL or thread management to a room full of drunks Oct 17 03:01:22 g00s_: Well, I've already learned to not block the UI threads. :) Oct 17 03:01:46 pity more people haven't learnt that Oct 17 03:01:58 B'cuz 6502 and raster coding... I didn't have to be told twice Oct 17 03:02:00 bankai_: lol Oct 17 03:02:31 I won't miss counting clockcycles Oct 17 03:02:56 bankai_ i think, most devs have gotten that message by now - but the bigger problem, imho, is they take shortcuts with concurrency + UI lifecycle Oct 17 03:02:59 Dagmar: Aren't there better solutions, though? AsyncTask is a very opinionated abstraction around ThreadPoolExecutor and Handler. Oct 17 03:03:32 I don't need to do a bunch of things. I just need the application to go send some text to an https server and get a response, and then immediately do something with the response Oct 17 03:03:42 bankai_ which results in either (1) leaks or (2) data hazards, stuff not happening with race conditions, etc Oct 17 03:03:57 aww i love me a good race condition Oct 17 03:04:26 If that task doesn't complete after awhile, all is lost and it's time to just go back to the menu anyway, so AsyncTask seems like the right thing to do Oct 17 03:04:32 Dagmar IntentService would probably be better Oct 17 03:05:00 I'm not sure why Oct 17 03:05:33 The only reason I'm even bothering to do something that might involve another thread is just to not block the UI thread Oct 17 03:05:44 While these transactions are happening, the app isn't ever going to be doing anything but waiting Oct 17 03:06:06 I mean literally, I'm getting a bit of text and a 128-bit hexadecimal number from a QR code and then passing it to the server Oct 17 03:06:38 There's a response that comes back from the server, and that response dictates 100% what happens next. Oct 17 03:07:14 This is just worlds simpler than the mess I made trying to use QRCodes for bidirectional communication Oct 17 03:53:23 Noob question, but how can I tell my Nav View to select an item by default(and call onNavigationItemSelected)? Oct 17 04:14:20 howdy Oct 17 04:16:00 hey alex_PP Oct 17 04:19:21 how's life g00s_ Oct 17 04:20:34 alex_PP have you seen this https://www.amazon.com/Visual-Toolbox-Lessons-Stronger-Photographs/dp/013408506X Oct 17 04:21:44 I have not Oct 17 04:22:27 Exerosis: If you're selecting it by default, then what's the point of presenting a menu in the first place? Oct 17 04:23:02 Dagmar: What do you mean? So that the user can select a different menu item? Oct 17 04:23:09 Exerosis: Just go ahead and set whatever fragment you want to wherever, then bring up the navigation menu Oct 17 04:23:15 g00s_: there was a really good, if slightly pretentious, B&H talk on youtube about composition that I watched a while back Oct 17 04:23:23 if I find it i'll send it you Oct 17 04:23:33 Exerosis: "how can I tell my Nav View to select an item by default" Oct 17 04:23:36 alex_PP thanks Oct 17 04:24:01 nav layout* Oct 17 04:24:55 Exerosis: Well, unless you see something in https://developer.android.com/reference/android/support/design/widget/NavigationView.html that I'm missing, there's no default for that and it doesn't acutally make a lot of sense in the first place... as illustrated by my question Oct 17 04:25:21 Just go ahead and invoke whatever fragment or view what you wanted as the "default" would do Oct 17 04:27:10 Well I would think setCheckedItem(id) would do it... but it doesn't seem to call onNavigationItemSelected. Does that mean I'm doing something wrong? Or does it just not do that? Oct 17 04:27:20 Simply _replace_ it when an item is selected, just like you'd replace it after a second item was selected Oct 17 04:29:27 Ok, doesn't seem like the smoothest way... but it will do. Oct 17 04:29:48 If you're just looking to set a toggleable item in the list, I'm not sure it makes sense to check an item and then expect Android to do run something else as a result of that, when you can just as easily call that code after setting the checked item Oct 17 04:30:21 Just be glad it's not like setText on an EditBox where you've got a textwatcher running (which can trigger itself yay) Oct 17 04:32:10 Exerosis: Also, according to http://stackoverflow.com/questions/31233279/navigation-drawer-how-do-i-set-the-selected-item-at-startup you are flirting with some versioning hell Oct 17 04:33:41 Note that some of those responses talking about support library 23 & 24 say to me "Just walk away and forget you ever thought about doing it that way" because it'll be buggy as @#$@ to rely on Oct 17 04:34:39 lol Dagmar, ok fair enough. Oh yuck, your right... Oct 17 04:35:11 Yea... Oct 17 04:35:38 Support lib 25 might very well change it back, or decide to make it "documented" that it doesn't trigger the calls Oct 17 04:35:57 These things are SUPER fun to find out about when upgrading support libs Oct 17 04:36:11 g00s_: https://www.youtube.com/watch?v=zwk3YFknyNA Oct 17 04:36:53 Wow... google really... this kinda thing seems pretty damn basic to me :| Oct 17 04:37:08 No one's perfect Oct 17 04:37:20 thanks alex_PP Oct 17 04:37:35 there's quite a lot of good B&H talks Oct 17 04:37:36 Also keep in mind why these support libraries exist... they're trying to beat a ridiculous number of older APIs into behaving the same way Oct 17 04:38:01 It's stuff _we_ don't have to code, which is good, but it's still something you have to mind carefully Oct 17 04:38:18 a lot of gear wank too, but that's their business i suppose Oct 17 04:45:23 alex_PP are you using anything fancy like Conductor for view state management Oct 17 04:56:02 Heya, Where is the proper place to store things like API keys that should not be checked into version control in an andriod studio/gradle project? Oct 17 04:56:31 how can I add a colored box to an activity? Oct 17 04:58:16 g00s_: no[e Oct 17 04:58:18 nope Oct 17 04:58:34 Can anyone here help me with Java 8's Optional? Oct 17 04:58:36 fragments, saveinstancestate Oct 17 04:59:06 jellycode #java ... Oct 17 04:59:07 I'd like the box to have a Relative layout in it, also Oct 17 04:59:13 they rejected me Oct 17 04:59:51 jellycode they probably forgot by now, try again Oct 17 05:00:15 yea they do that.. did you questin the mods? don't question the mods they are controlling, arrogant assholes. Oct 17 05:00:27 question* Oct 17 05:00:48 ops* Oct 17 05:01:55 yeah, the mod used a bot to tell me that i should not use abbreviations like "u" for "you" because it's annoying to them Oct 17 05:02:10 it is annoying ;) Oct 17 05:02:39 jellycode, did you read this? Oct 17 05:02:40 http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html Oct 17 05:02:40 but is that really something to moderate over? no. Oct 17 05:03:22 Yes I've read quite exhaustively on the topic, and just finished a very good course on the matter Oct 17 05:03:33 what did you want to know? Oct 17 05:03:39 see.. very controllering. they treat a community channel for a language they don't hold any ownership of as their private chat room. Oct 17 05:03:51 anyway, sorry off topic :P Oct 17 05:04:04 i will post the block of code that is challenging me, one moment Oct 17 05:04:26 https://codeshare.io/gHGTz Oct 17 05:06:22 Line 8 is where i'm currently stuck Oct 17 05:06:39 First of all, i don't think it's right to call .get().usages Oct 17 05:06:56 I think i somehow want to use flaMap on line 8 Oct 17 05:07:10 but, i can't get a working sample Oct 17 05:07:41 Right now it says cyclic inference Oct 17 05:09:57 not sure sorry jellycode Oct 17 05:10:24 thanks for looking :) Oct 17 05:14:05 jellycode http://i.imgur.com/UDBjybT.gifv Oct 17 05:15:26 he he nice gif..lol Oct 17 05:32:14 i just wanna echo the sentiment that #java is an utterly useless community Oct 17 05:32:31 you'd get better responses from /dev/random Oct 17 05:33:16 is that a channel? Oct 17 05:33:56 jellycode, a virtual file that contains random date Oct 17 05:34:01 *data Oct 17 05:35:35 good morning all Oct 17 05:39:06 my IRC had a notification. I fell asleep and can only scroll back so far. I had asked about websites that give you the correct XML style name values for Material themes. Anyone know of any? Oct 17 05:46:30 winegoddess not really - you just look at the platform theme attributes Oct 17 05:47:07 google material spec doesn't really do that (it should, but they don't) Oct 17 05:47:27 g00s_ thanks. i have come across pallette generators, that mention Android support, but in reality teh XML is now for Android. Oct 17 05:47:29 like here https://www.materialpalette.com/ Oct 17 05:47:32 it gets more interesting if you use the support library. in that case, you want to look at their list of public attrs Oct 17 05:48:12 thats just colors though ... Oct 17 05:49:12 g00s_ if you pick two, it sows a palette. i like the idea. but i was hoping the XML you grab from there woudl be what you put into your custom theme for colors Oct 17 06:03:10 hello people I have a problem with android studio 2.2.0 I downloaded and wanted to try a hello world app. But I am getting project refresh failed from gradle Oct 17 06:04:07 Anyone able to tell me where I should be adding my API key for the MyOpenWeatherMapApiKey here https://git.io/vPPYd? I belive they are doing it in a way that prevents the key from being added to version control (good) but I dont know where to set it up on my end Oct 17 06:04:51 any ideas please Oct 17 06:09:02 Any ideas please. Oct 17 06:13:04 enlightened have you tried the steps here? http://stackoverflow.com/questions/19874743/gradle-project-refresh-failed-after-android-studio-update Oct 17 06:15:48 winegoddess, let me try once again Oct 17 06:16:06 okay there are a few different answers with different things to try there. Oct 17 06:30:39 winegoddess-away, when I remove the gradle folder it shows a bunch of stuff so I put it back into place is it okay? Oct 17 07:06:10 hi! Oct 17 07:07:20 guys, if I have class A and class B, and if an event has triggered in B, how can i call a method from A? Oct 17 07:08:13 in A i have new B(); Oct 17 07:10:33 You'd probably need an interface. Like so: public Interface EventListener{ public void onEventHappened(); }, and then instantiate B with that interface Oct 17 07:12:01 new B(new EventListener{ @Override public void onEventHappened() { Log.d("tag", "Event callback")} }); Oct 17 07:13:50 thanks i'll check it :) Oct 17 07:15:13 Hola guys, I've coded an app on framework version: 16 , I need to downgrade to 15, is that possible without a lot of consequences ? Oct 17 07:15:44 you mean minsdk? Oct 17 07:18:18 yes Oct 17 07:18:38 i have minsdk 16 but need to downgrade to 15 :\ Oct 17 07:22:11 so do it Oct 17 07:24:38 i'm trying now, just wanted to check if there will be a big No before Oct 17 07:24:47 AshSF: Downgrade, and try it out in and emulator running v15, if it works great if not fix the bugs. Or you can read the release notes on v16 https://developer.android.com/about/versions/android-4.1.html Oct 17 07:24:54 some permission issues but I'll work around them Oct 17 07:25:11 thanks guys Oct 17 08:25:03 hi all Oct 17 08:25:43 good morning Oct 17 08:33:07 winegoddess, when I remove the gradle folder it shows a bunch of stuff so I put it back into place is it okay? Oct 17 08:36:12 whats that http lib for android called again? Oct 17 08:37:06 okhttp? volley? Oct 17 08:37:18 aha i think volley! cheers man Oct 17 08:37:26 is that still the current thing for http stuff? Oct 17 08:37:31 cheers Oct 17 08:37:37 depends on what you want to do Oct 17 08:37:43 seems liek forever since i coded android Oct 17 08:37:51 for basic stuff any lib is fine Oct 17 08:37:52 just send http requests and get back json etc Oct 17 08:38:24 don't use volley - use retrofit Oct 17 08:38:34 i have some tuts on youtube but ppl are starting to say its out of date due to these lins Oct 17 08:38:40 hey Leeds :) Oct 17 08:38:46 libs* Oct 17 08:38:47 hey Gaz` Oct 17 08:38:55 retrofit googling Oct 17 08:39:22 cool Oct 17 08:39:44 i literally just spent 2 yrs working with codenameone :) Oct 17 08:39:56 which is a way to get android/ios etc from java Oct 17 08:40:18 not to mention unity3d.. Oct 17 08:40:49 hows the old HK Leeds ? Oct 17 08:41:02 i been back in twn about 2 weeks hehe Oct 17 08:42:19 getting a gentle rub from a passing typhoon today/tomorrow, another one due on Friday... I only got back last Friday, gave a talk at a local conf on Saturday about Pebble Oct 17 08:42:23 also is there a modern way to auto decode json into objects ? or do i still need to manually make each object to hold bits of the json? Oct 17 08:42:29 oh nice Oct 17 08:42:41 yeh taiwan has had about 5 and 2 more coming, rain so bad its been dripping in my flat Oct 17 08:43:17 didnt realise pebble was still going u making naything cool for it? Oct 17 08:43:38 eh, done a 'next tram' app which semi-works :) Oct 17 08:43:49 hehe Oct 17 08:43:58 is there an api for the trams? lol Oct 17 08:46:30 sort of - their own website makes an AJAX call to get the next trams for a particular stop, I just grabbed the call from the browser debug tools Oct 17 08:46:39 not a public/official/stable API Oct 17 08:46:58 :) Oct 17 08:47:14 guessing your weather app still going strong hehe Oct 17 08:49:30 seems to be working... admob has been broken forever, but I can't be bothered to fix it, and I've been thinking about doing a push - pseudo-push, really - version rather than the current pull Oct 17 08:49:54 hi enlightened sorry im off and on right now, finishing a project. what do you mean it shows a bunch of stuff? if you have tried al of those steps, id suggest reinstalling Android Studio. Oct 17 08:51:05 hehe Oct 17 08:51:05 the data feed is explicitly listed as requiring a license for distribution - I reckon that pull is ok, because I'm not distributing the data, just an app which reads the data, but it means I can't really do true push... what I can do is a central pull which pushes the app to do a pull... Oct 17 08:51:36 i see, i hate push stuff, so hard to get right lol Oct 17 08:51:43 even worse on iOS Oct 17 08:54:00 the stuff I was working on before, we never did get our iOS app finished, so I never did the server-side support for it Oct 17 08:55:33 first day withoutrain in weeks, may go for a walk Oct 17 08:56:21 yeah, I've got to pop down to laundry/supermarket... can't be bothered to go to the pub tonight, still claiming jetlag laziness... Oct 17 08:56:43 i`ll prob end up drinking in the park :-) Oct 17 08:57:57 well, you do have a reputation as a drunken bum to maintain Oct 17 08:59:52 I should walk over to the park on the waterfront and see what the sea is doing, since we are officially under semi-typhoon conditions, but I probably won't :) Oct 17 09:01:18 hehe Oct 17 09:02:01 hello I am getting IllegalArgumentException: already added Lorg/apache/cordova ... after googling i found out some of the libs are dublicated but I have no clue how to find which one and how to delete it and where to find it? Oct 17 09:02:09 That is in android studio. Oct 17 09:03:11 Leeds, someone on my fb is posting pics of an ex amiga factory in hk, right now :) Oct 17 09:03:22 Stooge, right click on the project and check module settings, i think its under libs or something Oct 17 09:03:33 or it could be in a sub project you have included Oct 17 09:03:37 thnx Gaz` Oct 17 09:09:22 after spending 8 hours on spending Gradle docs and watching videos I still don't know how to execute any program. The only thing I heve learned is that I can't println. Very, very useful docs. Oct 17 09:09:45 *on reading Gradle docs Oct 17 09:10:04 can anybody just tell me one simple thing: how do I run my tool from Gradle? Oct 17 09:11:38 is there a way to indicate certain string values are not translatable, IN the layout xml file? or must it go as a string resource and be marked as non translatabe there, to avoid warnings? Oct 17 09:12:42 Hello everyone, I am trying to run this command on mac os x aapt dump badging app-debug.apk .. But I get zsh: no such file or directory: ./aapt error. Can someone help me to fix this, am I doing anything wrong? Oct 17 09:14:34 zap get android studio then itll do that for u Oct 17 09:15:42 Gaz`: I have a build already, I just want to check what’s inside. I am new to Android development. Just want to find out how the build system works Oct 17 09:15:56 zap get android? Is that a command? Oct 17 09:16:26 I need to modify the default gradle scripts in android studio Oct 17 09:16:37 Need to preprocess some files before they are used in the build process Oct 17 09:16:56 so I want to run my tool over them. I can't even do that - how do I launch it? Oct 17 09:17:13 all Graddle examples use only println action. Oct 17 09:18:51 maybe a more detailed search query can help you Oct 17 09:18:56 like "gradle exec task" Oct 17 09:18:58 or whatever you want to do Oct 17 09:20:04 Found something. Haven't tried this search query :( looked for "gradle preprocessing" and such Oct 17 09:23:49 still crap at gradle myself, if it was ant id know lol Oct 17 09:31:41 winegoddess: what warnings? If you put a string in the string resources but there is only one version of it in "strings.xml" and there is no version of it in the localized "strings-[language].xml" file, it will not be translated. Oct 17 09:32:26 hi Melatonina the hardcoded string warnings, indicating to use @string resource Oct 17 09:32:54 maybe i shoudl not say not translatable, but dont want to externalize Oct 17 09:34:10 winegoddess: ah, ok. No, there is not. Just ignore them or put the string in the resources. Or maybe you can disable the inspection altogether. Why don't you want to place the string in the string resources? Oct 17 09:35:05 i am creating a string that just has some simple facts about people. their names cannot be translated and i didnt see any sense in externalizing the info Oct 17 09:35:21 is there a way to set a flag to ignore them in the XML? Oct 17 09:35:43 i want to be able to use the Lint feedback, and so dont want to need to ignore the generated warnings Oct 17 09:35:50 and dont want to turn off all warnings Oct 17 09:36:12 No. As far as I know, you can't. Oct 17 09:37:26 But unless it's 100.000 string, just tolerate the warning or put the string in the resources anyway. It doesn't mean you HAVE to translate it. Oct 17 09:38:00 Placing strings in resources is boring for the first times, then you get used to it and becomes second nature. Oct 17 09:38:11 what does it mean to be 100.000 string? Oct 17 09:38:37 i understand the need for externalizing resources, but in this case, it dosnt make sense since it is the name of a person and teh name of a city Oct 17 09:39:17 it is not translatable, and i will not need to change the value in one place, to effect a change in two layouts such as portrait and landscape - so id prefer to turn off the warnings to not clutter up the feedback Oct 17 09:39:55 i figured id ask, but i couldnt not see anything to turn off individual warnings Oct 17 09:40:07 I meant unless you have 100.000 strings with this problems, it's cheap to place 1 single string in resources. Oct 17 09:40:29 as I said, AFAIK there is no way to turn off that warning for just ONE string Oct 17 09:40:31 oh, ok, i get you now Oct 17 09:40:31 sorry Oct 17 09:40:41 no worries i appreciate your input! Oct 17 09:42:23 winegoddess: after all, if you get a warning you also get the "light bulb" floating icon, you click on it and then click "extract string resource" and it's done. Oct 17 09:44:02 winegoddess: later, if you translate your whole application, you don't HAVE to translate that specific string. If you don't translate it, the original version will be used in all languages. Oct 17 09:44:24 winegoddess: so it's not more work for you. Oct 17 09:44:57 the work is minimal, yes. i just wanted to see if I could supress it, that is all Oct 17 10:10:30 Hello, I need help. I want to create ListView with data from other class (there will be horisontally alligned TextViews) And I have tried to create custom adapter, but program gives an error "java.lang.ClassCastException: android.app.Application cannot be cast to android.app.Activity" Oct 17 10:11:01 The code: MANIFEST - http://cxg.de/_f15c95.htm Oct 17 10:11:41 page4_adapter_layout.txt - http://cxg.de/_b23b68.htm Oct 17 10:12:12 Page4TableAdapter.txt - http://cxg.de/_9d3be6.htm Oct 17 10:12:43 Page4TableData.txt - http://cxg.de/_fac9f4.htm Oct 17 10:12:58 Can someone help me, plaease? Oct 17 10:13:01 hi Oct 17 10:13:08 Hello Oct 17 10:13:42 can anyone tell me how to detect if a qr code text is a vcard using the zxing library and then adding that to contacts? Oct 17 10:13:45 perhaps an example? Oct 17 10:14:24 DoITCreative: are you getting confused because Activity and Application both inherit from Context? Oct 17 10:15:14 Leeds: I do not know, what is happening there :( Oct 17 10:17:43 Maybe I need to add Application name to the MANIFEST? But I have tried that and error was still there. Oct 17 10:17:56 I have no idea, how to fix it :( Oct 17 10:19:11 anyone? Oct 17 10:20:13 Areeb: You can try regular expressions to parse the text. Oct 17 10:20:55 DoITCreative: Isn't there any implementation for it already in the library? Oct 17 10:21:52 Areeb: I do not know this library, so I can not tell you about it Oct 17 10:22:18 also I need to parse other formats as well like sms, wifi etc so I'll end up writing a lot of regexs Oct 17 10:24:46 Leeds: Do you have any ideas how to fix the error? Oct 17 10:25:30 DoITCreative: none at all Oct 17 10:25:58 I haven't looked at your code, I was just suggesting a possible point of confusion Oct 17 10:25:58 :( Oct 17 10:35:40 LayoutInflater inflater = ((Activity) context).getLayoutInflater(); Oct 17 10:35:50 Error is in this line Oct 17 10:36:22 and what is context? Oct 17 10:36:54 I do not know Oct 17 10:37:12 you must have assigned/declared it Oct 17 10:38:02 http://cxg.de/_9d3be6.htm Oct 17 10:38:40 yeah, I'm not following your links Oct 17 10:38:40 I am pretty much lost in all that contexts and inflators Oct 17 10:38:57 you need to be able to answer a simple question like that Oct 17 10:39:19 I do not need your help then Oct 17 10:40:16 good, I'm glad I helped you solve your problem Oct 17 10:41:29 You are not helped at all Oct 17 10:42:11 you're welcome Oct 17 10:42:28 if you don't know what your context is, you're beyond help Oct 17 10:43:43 I am just started with android and I do not know what context means at all Oct 17 10:44:00 so maybe try some tutorials Oct 17 10:44:05 where did you get that "context" variable from? Oct 17 10:44:26 there is no point in spoon feeding basic knowledge that is in every android tutorial Oct 17 10:44:42 From ArrayAdapter it looks like Oct 17 10:45:27 DoITCreative: if snow is white and sheep are white, are sheep made out of snow? Oct 17 10:45:58 Nope Oct 17 10:46:21 if Activity inherits from Context and Application inherits from Context, does that mean you can cast a Context to an Activity? Oct 17 10:47:17 It does not look so Oct 17 10:48:21 so why are you casting context to Activity? Oct 17 10:48:21 Leeds: Was that a rhetorical question? :-) Oct 17 10:48:47 provocative Oct 17 10:49:02 WAKE UP PEOPLE, SHEEP ARE MADE FROM SNOW! Oct 17 10:49:23 Leeds: I followed the example from https://www.codeofaninja.com/2013/09/android-listview-with-adapter-example.html Oct 17 10:49:46 no, bugs bunny shows there's wolfs inside the skins Oct 17 10:50:16 heh, way too early for me 😜 Oct 17 10:50:19 and now to shop for a Sony phone in a typhoon! Oct 17 10:52:57 ew, win phone/feature phone? Oct 17 10:54:48 DoITCreative: Wow. That's some awful code. Oct 17 10:54:59 People who don't understand programming shouldn't write tutorials. Oct 17 11:50:33 Hello all Oct 17 11:51:04 I have issue with shared view animation Oct 17 11:52:30 when I click on item from recyclerview it performs shared animation and opens new activity , in meantime if I change anything in that activity I update recyclerview in first activity and if update occurs during transition it crashes with this java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.ViewGroup.transformMatrixToGlobal(android.graphics.Matrix)' on a null object reference Oct 17 11:52:46 sorry for the long message Oct 17 11:53:15 my question is how to handle this or in worst case how to I cancel shared view animation on back pressed ? Oct 17 11:54:43 does anyone know how I can pill a specific line from a List ? Oct 17 11:54:47 pull a specific* Oct 17 11:55:14 the CustomClass has a method getKey() that contains the data I want to match Oct 17 11:59:22 sdousley what class that implements the List interface it is? Oct 17 11:59:38 usually you should be able to make get(index); Oct 17 12:00:09 https://docs.oracle.com/javase/7/docs/api/java/util/List.html#get(int) Oct 17 12:00:12 ah yeah, I did find that, but I'm not sure how I would find index based on the specific data Oct 17 12:00:44 what is your goal? :s Oct 17 12:00:48 I think it's a fixed index for the data I want, but I don't want to rely on it Oct 17 12:00:50 you might want to use a map or something else lol Oct 17 12:01:39 mind if I PM you a link to a gist? Oct 17 12:02:09 ok Oct 17 12:04:50 guys how do I cancel shared animation on back pressed ? Oct 17 12:16:25 harisk92, i don't think you can Oct 17 12:21:01 if I have compile fileTree(dir: 'libs', include: ['*.jar']) in my build.gradle, where would the libs folder go? Within src/main? Oct 17 12:25:18 adq: I searched all over google and there are few issues on this one without solution :/ Oct 17 12:27:20 not sure about your error, but usually you need to have the corresponding element (android:transitionName) on both sides Oct 17 12:27:38 so if your content is being modified which ends up removing one of the corresponding element, no wonder why it crashes Oct 17 12:39:16 adq: is there a way to detect when listview started drawing child elements and when it's finished ? Oct 17 12:40:53 well, it will start drawing after being notified the adapter array changed i believed, but i doubt this is what you need Oct 17 12:41:48 either you prevent the listview to change its content until the transition finished, or either you don't transition elements not present on the other side, or either you provide a placeholder for the potential missing elements, or either.. Oct 17 12:41:49 i could not sop Oct 17 12:41:51 stop* Oct 17 12:42:06 :D Oct 17 12:42:40 maybe search for and read about postpone transition too Oct 17 14:04:40 hey using adb shell how do i list all the partitions on a device? Oct 17 14:18:25 anyone using Firebase? Oct 17 14:18:34 And if so, how is it? Oct 17 14:19:14 samsung used it on galaxy note 7 i heard Oct 17 14:19:26 It could stand to have all the stale documentation purged Oct 17 14:20:05 I wasted a few hours trying to debug a simple AdMob implementation just because there's multiple explanations for using it out there Oct 17 14:22:49 Hello, I'm working on an application where on the top of the main screen, there is a spinner with several options. Oct 17 14:22:52 When the end user select one of them, the content of the screen, below the Spinner, must change (it's a complex form) Oct 17 14:22:55 For this moment I'm using a LayoutInflater for each different sub screen, but it's quite long. Oct 17 14:22:58 Is there a better way to do it? Oct 17 14:24:53 So, I have some libs in my src/libs folder, how do I make sure that Gradle/my app can see the libraries? Oct 17 14:27:23 How can I know the activity/package name/app that triggered an intent that was handled by my app? Say I have Intent intent = getIntent(); this code on onCreate method, how can I know which external app has trigged this intent? Oct 17 14:29:11 As far as I know you can't. If you really want to know and you're the one sending the intent, you can pack and extra in with it to read Oct 17 14:29:43 I'm not the one sending the intent, someone else who knows about my apps intents and uses them inside their app Oct 17 14:30:04 I want to track their usage of the intents my app handles Oct 17 14:30:22 Well, if you want to _stop_ that... *g* start packing an Extra in with it when you're sending it and ignore any intents that come in without it. :) Oct 17 14:31:49 sure, but what if thare are multiple apps that use my app's intents? how do I know which one is using which intents? Oct 17 14:38:52 Is there any callback method that I can define to know when my app is started and the reason why? Something like iOS's application:didFinishLaunchingWithOptions: method , which has a launchOptions dictionary, that represents "A dictionary indicating the reason the app was launched (if any). ", and inside it there is a key UIApplicationLaunchOptionsSourceApplicationKey "The presence of this key identifies the app that requested the launch of Oct 17 14:38:53 your app. The value of this key is an NSString object that represents the bundle ID of the app that made the request. " Oct 17 14:43:44 Basically: what app started my app -- this is what I want to find, at the very least Oct 17 14:49:15 I think I found it: Activity class has getCallingActivity and getCallingPackage Oct 17 14:59:34 when doing compile fileTree(include: ['*.jar'], dir: 'libs') where should the "libs" folder be? I'm struggling to get this app to see the files at all Oct 17 15:00:51 root of the subproject Oct 17 15:02:44 yeah, root of the module iirc Oct 17 15:03:22 (at same level as res or src, if that's not clear enough) Oct 17 15:06:43 (except src and res are not at the root of the module in a standard gradle project) Oct 17 15:11:52 and Firebase doesn't have the Note 5, which is the only damned device I need to test on... Oct 17 15:12:13 holy hell this is a neverending load of bullshit that seems like it will only ever end if I just go buy a Note 5 Oct 17 15:12:58 indeed, only src Oct 17 15:13:01 oops Oct 17 15:21:42 So, I have an activity, that updates the UI, at the point that it's printing to the Bluetooth printer, it hangs, and doesn't update the UI. I presume the sending of the job to the printer would be better in a AsyncTask so it doesn't hang the UI? Oct 17 15:23:00 Is here somebody who is using serialized data structures with code obfuscation (minifyEnabled true)? Example: MainActivity.java http://pastebin.com/vC95TTht, DataItems.Java http://pastebin.com/2kBya0W5 Oct 17 15:24:13 sdousley, asynctask or something else, just be sure to not do blocking or intensive operation on the ui thread to avoid what you just described Oct 17 15:25:30 new src links, MainActivity http://pastebin.com/yfn9TwNw, DataItems http://pastebin.com/vjf9Vs2h Oct 17 15:26:53 for those who does not know - I have had problem with obfuscation (MinifyEnabled) and one of my classes using implements Serializable Oct 17 15:27:52 obfuscation changed name of such class between app versions in such way that newer ver of app was unable to retrieve data saved by previous version of app Oct 17 15:29:00 is buying a particular phone model that has a reported bug the only way to test on said hardware? Oct 17 15:29:25 I have made some research - not at the end of it, but yesterday SimonVT suggested to keep file names of classes implementing Serializable Oct 17 15:29:27 Samsung Galaxy Note 5 is the only model that any user has ever reported any issue with this app, but I don't have one handy Oct 17 15:29:53 But maybe there is some other solution... Oct 17 15:30:28 azv4 go in a big shop and try to find the phone in the shop then install Oct 17 15:32:50 anyone going to big android bbq Oct 17 15:34:34 Stooge, I wish that were a viable option, I am not sure what to do really... Nobody is going to be carrying Note 5 on their shelves right now though, Oct 17 15:34:46 you'd think you'd be able to test based on which OS version is running, but apparently not... Oct 17 15:41:29 problems with the Android client implementation of SignalR too... What was I expecting? Something that worked out of the box? Oct 17 15:45:23 I generally think of SignalR is a problem on it's own as well... xD Oct 17 15:46:49 Exerosis_: what do you mean? Does it suck? Oct 17 15:47:30 adq: that's what I thought. I just did it there to get it working (forgetting about the blocking thing) I'll move it tomorrow when I get a chance :) Oct 17 15:47:47 It just adds complication. Oct 17 15:48:15 hmm, just got a surface pro, but it only has 4gb of ram, probably not enough to do android dev well on it Oct 17 15:48:34 should be ok for you since you don't use AS pfn :> Oct 17 15:48:47 with an external device should be fine Oct 17 15:48:49 I still use intellij, which uses about the same resources Oct 17 15:48:56 ah Oct 17 15:49:07 Exerosis_: what would you use instead? Oct 17 15:49:38 I mean, I can code without it, but I might as well use a linux terminal if I don't use an IDE Oct 17 15:49:45 (in which case, I can ssh into a much more powerful box) Oct 17 15:50:33 Depends on what ur doing with it :P Oct 17 15:50:35 surface doesn't do usb charging, though, which is kinda dumb... would expect it to be like any other mobile device Oct 17 15:50:38 What's ur project Oct 17 15:53:15 Exerosis_: I have to implement some social and cooperative editing features of my app that should be used both as Android application and as web application. So I need to receive real-time updates when my database is changed. Firebase is too simplistic. So I'll use SQL Server, its notification system and I need a bidirectional communication between my server and my client applications. Oct 17 15:59:24 Exerosis_: I have to go away now but I'll read what you write later, if you can answer. Bye! Oct 17 15:59:29 KK Oct 17 15:59:34 cya soon Oct 17 16:12:00 pfn probably would if it had usb-c Oct 17 16:12:20 even some of the arm android tablets had trouble charging when on Oct 17 16:12:32 and that is quite a bit more in terms of power consumption Oct 17 16:12:37 g00s, well, half the point, it should have had usb c Oct 17 16:26:49 Is there anyway to take advantage of the GoogleMap snapshot API method to get the Bitmap without having to inflate a Google MapFragment Oct 17 16:28:07 I was working on a widget awhile back and I was able to get a map image working, obviously without a fragment, so I would assume so Oct 17 16:28:14 Though its been awhile Oct 17 16:29:51 orbyt_: Hmm yeah I know there is the Google MapView class that can be used in place of a MapFragment. Ultimately I'm trying to display a Google Map in a notification Oct 17 16:30:00 and the large image only supports Bitmaps Oct 17 16:30:03 No views Oct 17 16:31:03 Yea, I think that was the same issue with the widget. Im not sure on the specifics on displaying images in a notification though Oct 17 16:31:14 I'm thinking the static map api might be my only option https://developers.google.com/maps/documentation/static-maps/intro Oct 17 16:32:32 This api method is the only notification api for setting that image in a bigpicture style notification https://developer.android.com/reference/android/support/v4/app/NotificationCompat.BigPictureStyle.html#bigPicture(android.graphics.Bitmap) Oct 17 17:02:26 hmm, no good car mounts for surface, booo Oct 17 17:03:28 I need someone that has a Note 5 to test an app feature for me, anyone willing? Oct 17 17:09:26 guys what is the best software to make apps ?? i am new to this .. Oct 17 17:11:43 afterkeys, Android Studio if you want to develop for Android Oct 17 17:16:03 for beginners what is the right way to learn a programming language ? Oct 17 17:16:47 azv4, long time no hear ;) Oct 17 17:16:49 how's it going? Oct 17 17:17:55 afterkeys i learn by practicing, the same way i learned how to play guitar or soccer, i sucked on the very first weeks, but i never stopped, i guess one day i just new a bunch of stuff about making software because of that Oct 17 17:18:40 still i consider myself to be in a somewhat begginer/intermediate level, there's too much i don't know, but i learn something new everyday :p Oct 17 17:19:56 I have recyclerviews nested inside a recyclerview. The data object for the inner views has their own list of data. When I call "notifiyDataSetChanged" on the outer recycler view, the nested views' items flash (fade-out and fade-in) even though they have the correct ids associate with them. Oct 17 17:20:20 I would love to know how to get rid of that flash, or make the behavior the same as if it was a top-level recyclerview Oct 17 17:21:43 alright Oct 17 17:35:36 I am new to android and dev and want to develop a server running on android, that has an API to receive data from rovers (arduino, IoT etc.) and log this together with GPS and timestamps. Is there any starting point (code/project)? Oct 17 17:36:54 rovers should connect through wifi (mobile hotspot), is the DNS resolver pointing to the android device with a name or can the IPs be fixed? Oct 17 17:36:55 explodes: disable change animations on the DefaultItemAnimator, or call the proper notifyInserted/Changed/Removed methods Oct 17 17:38:25 the better approach would be to have a separate server running on a raspberry pi or something, and have that push to the phone Oct 17 17:38:27 Disable them on the outer change? Oct 17 17:38:32 outer recycler*? Oct 17 17:40:04 s73v3r: But I want to log also without GSM connectivity (mobile measurements), that is often a problem in the countryside ;) Oct 17 17:40:41 It is kind of Proxying/caching Oct 17 17:40:57 I've written an http server in android Oct 17 17:40:59 that’s a separate issue Oct 17 17:42:16 what’s the purpose of the phone in your project? to broadcast the data? Oct 17 17:42:37 missingno: any chance to have a GET/POST request analysed via the http server? Oct 17 17:42:45 hells yeah Oct 17 17:43:04 it's kinda just java Oct 17 17:44:16 granted you'd probably want to be running as an Android service possibly with wakelock if you're on battery Oct 17 17:44:21 but the code for the server is just java code Oct 17 17:44:25 s73v3r: rovers provide sensor data, phone adds GPS/timestamps and logs everything or even passes it on to other APIs (logging would be easy and fine). Oct 17 17:44:43 is it something on the move? Oct 17 17:45:01 write the server first then wrap it in Android constructs Oct 17 17:45:31 i ask, because it seems for something like this, a phone is going to be much more expensive, and you’re going to end up fighting against a system which wasn’t designed for that kind of operation Oct 17 17:45:41 s73v3r: a mobile measurement station with whatever sensors (that can send their data via wifi, IoT) Oct 17 17:47:08 idk s73v3r a phone sounds like the cheapest way to get gsm connectivity Oct 17 17:47:25 not necessarily Oct 17 17:47:43 https://www.sparkfun.com/products/9533 Oct 17 17:48:31 not to mention the fact that android as a system was not meant for this kind of continuous operation Oct 17 17:49:19 s73v3r: I just add display, GPS and SDcard to my devices (ESP8266 based), and these systems are less friendly to maintain (and debug) ;) Oct 17 17:50:12 s73v3r: so the idea is the phone has all this already and can provide maybe more than just internet connection Oct 17 17:52:27 now your rovers have to account for the situation in which Android kills your service, and you haven’t restarted it yet Oct 17 17:54:56 s73v3r: and makes the sensor devices cheap ;) The sensors have just to look for wifi connectivity, that is not too difficult. If sending fails, well, then it fails. Oct 17 17:55:20 they’d only have to look for wifi connectivity if you were using a Pi also Oct 17 18:09:00 s73v3r: to distribute sensor devices to others: an app would be easier than a specially configured pi :) Oct 17 18:39:41 nixnix: thanks all, I will have a further look for as solution, and hopefully you can then find something via fdroid soon ;) Oct 17 18:50:59 just came back to drop a link to a promising data collection tool (though the 'sensors' part is not yet production ready): https://opendatakit.org/use/sensors/ but this seems to be a proper approach for sensor devices (input via wifi still missing here) Oct 17 18:55:52 would this be the 'best practice' https://www.learn2crack.com/2016/03/grid-recyclerview-with-images-and-text.html for setting individual images to the elements in my recyclerview? Oct 17 19:00:45 maybe highlight what they’re doing doing specifically regarding that, rather than make us read the whole tutorial Oct 17 19:02:30 What would you suggest to replace Serializable with to preserve backward compatibility? Trying to understand various ways in https://developer.android.com/reference/java/io/Serializable.html and Effective Java (Implement Serializable Judiciously)? How do you store your object data - if you have some? Oct 17 19:02:59 using the picasso dependency Oct 17 19:03:20 and the row_layout.xml thing Oct 17 19:07:29 * bitkiller__ has started to worry about parse.com end of service Oct 17 19:07:38 shoudln' Oct 17 19:07:51 shouldn’t you have done that 6 months ago? Oct 17 19:08:46 Hello Oct 17 19:10:02 How can i get a menu item with get menu.finditem(r.id.follow) if I inflate menu with mtoolbar.inflateMenu(R.menu.menu_main); Oct 17 19:10:56 menu find item tells me that menu is null. Normally If i instantiate a menu it automaticly can be accessed by menu.finditem but how can i get anything if i define it myself Oct 17 19:11:32 by the way i am infalteing a menu to a toolbar Oct 17 19:14:48 s73v3r, parse is going to close on jan 28th Oct 17 19:15:06 yes, I know. They also anounced it last january Oct 17 19:15:30 anyone has any idea? Oct 17 19:16:00 lol http://pguardiola.com/blog/darealfragmentation-alarms/ Oct 17 19:16:03 what a shitshow Oct 17 19:16:14 love the flow chart though, will bookmark that Oct 17 19:16:21 Whats up friends! how is everybody doing today? Oct 17 19:17:33 jellycode cool, working still :p Oct 17 19:17:36 u? Oct 17 19:17:38 Why does changing the app Theme in Preview doesn't automatically update the theme in styles.xml? As an Android Studio user, it just kind of breaks the mental schema I have of, "Preview reflects the current state of my XML. Oct 17 19:18:56 because that’s not what it’s meant to do Oct 17 19:18:57 because theme has no connection to anything Oct 17 19:19:13 what is it meant to do? Oct 17 19:19:15 because a theme can be set in any one of a billion places Oct 17 19:19:16 Hi. Anyone know of a good guide to what can be set in he uEnv.txt file used in X-Loader/U-Boot ? Oct 17 19:19:25 give you a preview of what a layout will look like under a given theme Oct 17 19:19:26 genii see topic Oct 17 19:19:38 I was in here yesterday asking about help with Java Optional, different provided different help on pieces. I wanted to give the working final solution that I ended up with for anyone who is interested in Java 8 streams and optionals. Oct 17 19:20:02 is there any docs about this @s73v3r? your explanation makes sense but i would like to see a doc? Oct 17 19:20:06 g00s: Do you know of a more appropriate channel to enquire in, then? Oct 17 19:20:13 eh, streams aren't available on android anyway, except unless you have a backport lib Oct 17 19:20:18 genii, see topic Oct 17 19:20:18 check d.android.com, but I don’t know of one offhand Oct 17 19:20:18 genii did you read the topic ? Oct 17 19:23:14 s73v3r: Yeah, I've been scouring there but not much on the subject. And #android-root is also not very useful. Oct 17 19:23:37 genii try your dentist then Oct 17 19:23:49 that was meant for droidace. for you, #android-root or XDA is your best shot Oct 17 19:24:28 Ah, yes, XDA probably has something. Oct 17 19:25:07 g00s 😜 Oct 17 19:35:12 https://codeshare.io/LEUuW Oct 17 19:35:43 jellycode, what's the point? you can't use unless >android7 anyway Oct 17 19:35:47 I'm having some trouble with a FloatingActionMenu(from https://github.com/Clans/FloatingActionButton) persisting when going to another activity Oct 17 19:35:55 It's only defined on MainActivity yet it show and is usable on CreateSimActivity Oct 17 19:38:29 then you're not going to another activity Oct 17 19:39:32 Sorry, I'm really new to android and java Oct 17 19:40:35 what am I doing by calling StartActivity(CreateSimIntent); Oct 17 19:41:30 pfn, android will be on java 8 someday, and then java 9. Oct 17 19:41:42 irrelevant if you're looking to produce something usable now Oct 17 19:41:52 and for the next few years Oct 17 19:46:19 hello Oct 17 19:46:59 i have following problem: I have a layout xml R.layout.environment_item with one ImageView and a Textview Oct 17 19:47:16 pfn #3! https://groups.google.com/forum/#!topic/scala-internals/r2GnzCFc3TY Oct 17 19:47:35 noch i will create 6 environment_items and add to a GridLayout Oct 17 19:47:57 but always only one is add. Oct 17 19:48:07 ? Oct 17 19:48:14 bullet 3 Oct 17 19:48:16 how i can create some layouts from a xml? Oct 17 19:48:39 g00s, oh, right, yeah Oct 17 19:48:50 soc mentioned his post early this morning Oct 17 19:49:24 final View viewItem = LayoutInflater.from(getContext()).inflate(R.layout.environment_item, container); Oct 17 19:50:20 Saizler, yes, that is how Oct 17 19:50:58 i get the ImageView checkboxIcon = (ImageView) viewItem.findViewById(R.id.checkbox_env); Oct 17 19:51:03 and set the image Oct 17 19:51:44 and add to gridlayout environmentGrid.addView(viewItem); Oct 17 19:52:11 but now if i create again a view with Oct 17 19:52:18 final View viewItem2 = LayoutInflater.from(getContext()).inflate(R.layout.environment_item, container); Oct 17 19:52:24 Then you're using XML Oct 17 19:52:27 and add this to grid, it will not showq Oct 17 19:52:28 so, friends, i'm trying to put custom images on my grid RecyclerView, this is the adapter i'm using http://pastebin.com/drQmews4 i thought about just calling the images from my drawable directory by itemIds by doing this (line 54 and 68) http://pastebin.com/B7KS5Hj5 but it doesn't seem to work like that, i'm kinda stuck trying to follow this implementation Oct 17 19:52:30 https://www.learn2crack.com/2016/03/grid-recyclerview-with-images-and-text.html (main activity and adapter in the bottom) by making the Alimentos (food) class and stuff http://pastebin.com/atWM3nd0 i guess my question is where in my adapter i call my drawable images? Oct 17 19:52:31 All the other stuff is _not_ using XML. Oct 17 19:52:41 Saizler, set layout params properly Oct 17 19:54:15 (on line 39 i'm calling items by an xml array i have, i want to change that for the foods of my Alimentos class, but that comes later) Oct 17 19:54:34 pfn, here my xmls: http://pastebin.com/d7PNN5gC Oct 17 19:54:50 container != environmentGrid Oct 17 19:54:56 so you did not set layout parameters properly Oct 17 19:56:26 pfn, which layout parameters i need? Oct 17 19:56:48 I've never noticed it being a requirement to set explicit layout parameters Oct 17 19:57:21 As far as I've noticed if GridLayout knows the number of columns & rows it'll just hum all the rest Oct 17 20:00:54 here is the code: http://pastebin.com/PFfxLr6R Oct 17 20:01:05 viewItem1 is show, viewItem2 not Oct 17 20:01:54 you screwed up by inflating with container Oct 17 20:02:36 You're also instantating five views who have child elements with the exact same id Oct 17 20:02:39 inflate using environmentGrid Oct 17 20:02:41 That probably isn't going to work out well Oct 17 20:04:31 Going back and forth between XML and java-generated views is painful stuff. You might be happier if you just generated the outer "everything" in XML and simply created all the other elements via java Oct 17 20:05:15 It makes it easier to keep track of where the heck things are coming from Oct 17 20:05:28 so environment_item.xml create complete in java? Oct 17 20:06:10 It's what... a linearLayout an ImageView and a TextView? That's not a lot of lines of code Oct 17 20:06:14 means, create in java a LinearLayout, add a ImageView and add a Textview, then attached to grid Oct 17 20:06:28 does anyone have insight into why an appwidget would have a substantially different size in portrait than landscape? Oct 17 20:06:51 i just made a basic white box, and it's a square in portrait, rectangle in landscape Oct 17 20:07:13 post the layouts Oct 17 20:07:53 You can just scribble up a method for that and get a nice atomic function that reads like... gridLayout.addView(environmentalItem(coloredBox, "Steve")); Oct 17 20:08:01 MUCH easier to keep track of Oct 17 20:08:56 Dogmar, thank you Oct 17 20:09:02 i will try one moment Oct 17 20:09:24 s73v3r, http://pastebin.com/m5UH0Vmg Oct 17 20:10:37 thebishop: That's your actual XML file? Oct 17 20:11:19 Dagmar, it's the simplified one i'm testing with, trying to isolate the issue Oct 17 20:11:38 Shouldn't it really be _inside_ the framelayout? Oct 17 20:11:48 the appwidget-provider, I mean Oct 17 20:11:53 Dagmar, that includes the layout file and the widget provider file Oct 17 20:11:55 sorry no Oct 17 20:12:00 they're separate in real life Oct 17 20:12:02 Aha okay. whew Oct 17 20:12:31 other widgets on this device don't show the same issue Oct 17 20:13:15 Looks like it's hitting the minHeight and minWidth items... which don't match Oct 17 20:13:25 have you tried creating a separate landscape layout, with the height and width switched? Oct 17 20:13:46 thebishop, you have -land or -port qualifiers? Oct 17 20:13:52 for anything at all? Oct 17 20:15:42 s73v3r, i haven't i'll give it a shot Oct 17 20:15:46 pfn, haven't needed it, no Oct 17 20:16:09 you have widget_margin setup as padding, and there's plenty of likelihood that you have -port or -land for it Oct 17 20:16:56 You defined the appwidget-provider as literally *not* being square when it's space-constrained Oct 17 20:17:17 Dagmar, i don't actually want it to be a square ;) Oct 17 20:17:45 on this tablet, it looks right in landscape, wrong in portrait Oct 17 20:18:04 I’m guessing that ratio is due to pixels themselves not being square Oct 17 20:18:12 Does it do this in the layout previewer of Android Studio? Oct 17 20:18:53 100:240 is way farther from square pixels than any display I've seen Oct 17 20:19:18 Dagmar, no the layout designer displays it correctly in both Oct 17 20:19:27 Oh! This is a WIDGET display Oct 17 20:19:37 Dude your tiles change aspect Oct 17 20:19:52 In landscape they are generally _way_ shorter than they are wide Oct 17 20:20:18 widgets are deeply annoying to layout because of that Oct 17 20:20:32 hmm, don't remember this being a problem Oct 17 20:20:46 You probably left the icon rows adn columns at the default Oct 17 20:20:55 that makes sense with what i'm seeing, but is the answer just a -port layout file? Oct 17 20:21:26 i'm testing random other production widgets that don't show the same issue Oct 17 20:21:50 It _can_ be, but it won't change the fact that a lot of people have more rows than columns in their desktop layout Oct 17 20:22:21 actually, the flipboard widget does show some similar warping, but not as extreme Oct 17 20:22:28 Once padding gets taken into consideration, they have _much_ less vertical space to work with when the orientation goes to landscape, and wind up being squished into rectangles Oct 17 20:23:04 I've got one out there that's subject to that problem, and my answer is just "don't do that" Oct 17 20:23:38 I put in over 1,000 individual damn images to keep devices from having to rescale everything, and there's a fixed freakin' actual pixel size that layout needs Oct 17 20:23:58 Dagmar, what do you mean "don't do that"? Oct 17 20:24:05 If someone wants to use it with their device in landscape mode, they'd damn well better stick with 4x4 Oct 17 20:24:32 hmm, ideally my widget would be 4x1 or maybe 4x2, i actually don't want them resizing it at least for now Oct 17 20:24:45 thebishop: I mean there's no way I can get that same layout to work in only about 43dp, which is all that's left vertically when someone's using a 6x4 grid and rotates their device to landscape mode Oct 17 20:25:13 ...and I'm just *not* (not NOT NOT *frothing* NOOOT) going to generate another 1,000 images for those two people. Oct 17 20:25:29 Dogmar, it works fine. thx Oct 17 20:25:37 lol Oct 17 20:25:42 ok Oct 17 20:26:23 Seriously. Three colors, four supported screen densities... that's "everything takes 12 images" all by itself Oct 17 20:26:58 Yes, I know devices _can_ rescale images, but that costs CPU/GPU time and power. Oct 17 20:30:24 thebishop: If you want to get fancy you can call a few measure()-like functions and see just how many DIP you're left with in landscape & portrait Oct 17 20:30:57 It'll be a lot less than you thought Oct 17 20:33:17 Hello, is the keystore information a big deal? and what do I need to put in organization unit or organization, I have no organization or whatever Oct 17 20:33:35 I just have an just-invented "company" name Oct 17 20:33:40 This legal stuff scares me Oct 17 20:33:59 the information is irrelevant Oct 17 20:34:07 it's ignored Oct 17 20:34:12 Dagmar, thanks for your explanation Oct 17 20:34:16 i'm gonna roll with it then Oct 17 20:34:18 wow so usefull then xD Oct 17 20:34:39 for android apps it's useless Oct 17 20:34:48 ImageView imageView = new ImageView(getContext()); Oct 17 20:34:57 how i can set a margin? Oct 17 20:35:09 Saizler, by setting layout params on it Oct 17 20:36:18 get with LinearLayout.LayoutParams margins = new LinearLayout.LayoutParams(imageView.getLayoutParams()); Oct 17 20:36:23 but get exception Oct 17 20:36:31 java.lang.NullPointerException: Attempt to read from field 'int android.view.ViewGroup$LayoutParams.width' on a null object reference Oct 17 20:37:14 (Gradle question) Can somebody tell me how I can insert a task to execute before generateDebugSources? That is, make generateDebugSources somehow depend on my task. Oct 17 20:45:13 zap, tasks["generateDebugSources"].dependsOn yourTask Oct 17 20:45:38 if generateDebugSources is created later, wrap that into gradle.projectsEvaluated { } Oct 17 20:46:16 so this is referencing an image found online private final String android_image_urls[] = { "http://api.learn2crack.com/android/images/donut.png" } how should i set it to reference an image from my drawable directory? Oct 17 20:49:53 damn im lost Oct 17 20:51:39 why doesn android studio show function declarations only -some- of the time. Oct 17 20:52:03 wut Oct 17 20:52:07 like when you first start using a method, it gives you hints about it. Oct 17 20:52:54 it's hard to get the hints to show afterwards Oct 17 20:53:12 it is the most annoying thing Oct 17 20:53:12 what hints, you mean the parameter list? Oct 17 20:53:16 yea Oct 17 20:53:19 mine is mapped to alt-p Oct 17 20:53:35 the command is "parameter info" Oct 17 20:54:00 it'd be nice if by default it did it on hover. Oct 17 20:54:29 can it be set to show it on mouse hover? Oct 17 20:54:30 stop using your mmouse Oct 17 20:54:40 or click. Oct 17 20:54:58 what's wrong with useing the mouse? Oct 17 20:55:16 it's slow Oct 17 20:55:18 use the keystroke Oct 17 20:55:36 real developers never use a mouse :p Oct 17 20:55:51 Mavrik: thanks very much! Oct 17 20:56:10 well it beats having to memorize a bunch of commands for every IDE you use. Oct 17 20:56:26 answer: use 1 IDE Oct 17 20:56:38 I don't only use 1 language Oct 17 20:57:01 sux2bu Oct 17 20:59:11 Hi, sorry about this question, I'm not a native english speaker, I read the documentation here: https://developer.android.com/guide/components/fundamentals.html, Are the components the classes or the objects we create from the classes? Oct 17 20:59:54 you mean you only code in one language? real developers use All the lanaguages \0/ Oct 17 21:00:18 I don't use an IDE most of the time for most languages Oct 17 21:04:18 nug700: Most JetBrains IDEs have the same shortcuts Oct 17 21:04:39 ah. Oct 17 21:04:51 Any one? Oct 17 21:05:23 hexagonSun_: in-app drawable resources are referenced by using R.drawable.nameofdrawable Oct 17 21:05:26 does JetBrains have .Net IDE? Oct 17 21:05:30 yes Oct 17 21:05:34 resharper Oct 17 21:05:34 euw Oct 17 21:05:41 hm Oct 17 21:05:56 or it's a plugin for VS rather Oct 17 21:06:10 they are working on a standalone one Oct 17 21:06:26 soulisson: most of the times when people talks about those components is talking about the classes. You then activate one of those components creating an object of the respective class. Those objects are instances of the respective classes and thus instances of those components Oct 17 21:06:51 oh... I've used the resharper plugin before Oct 17 21:06:54 Melatonina: ok, thank you very much Oct 17 21:08:09 soulisson: you're welcome Oct 17 21:09:35 ah.. Rider is the C# IDE Oct 17 21:25:28 guys a need a little help, my food RecyclerView is showing me the items names, but not the images, here's the activity with the RecyclerView http://pastebin.com/VgKBthua here's the Adapter http://pastebin.com/M4b6KUcq and here's my foods class http://pastebin.com/y4uJCzaz im guessing i'm making a wrong turn somewhere on the adapter but i haven't been able to figure out where Oct 17 21:32:46 ok i had written the wrong link to the images Oct 17 21:32:48 it works now :) Oct 17 21:39:14 http://crunchify.com/java-tips-never-make-an-instance-fields-of-class-public/ "But writing getter method does not exactly solve our problem. The array is still accessible" Oct 17 21:41:12 he probably meant unmodifiable instead accessible, but still - my test says other vice. Why is that? Oct 17 21:42:29 wut Oct 17 21:42:33 tl;dr Oct 17 21:43:32 he suggest to return .clone(ed) object in getter Oct 17 21:43:56 hexagonSun_: we knew it. That's why we didn't answer to your question Oct 17 21:44:34 because without it private value can be changed from outside its class Oct 17 21:45:28 I am probably missing something Oct 17 21:45:37 I was thinking that if they're instanced values allowing them to be changed at any time might cause a number of fun and exciting problems, but the bigger issue is being able to detect (and fail gracefully) that some ninny has loaded them with nonsense. Oct 17 21:46:01 Using getters/setters lets one broker that and scrutinize what's being passed in so that a coherent error can be emitted right away Oct 17 21:46:48 don't use arrays Oct 17 21:47:06 Melatonina that's actually pretty great, I ended up resolving it by myself :p Oct 17 21:47:37 I gotta go now tho Oct 17 21:47:42 have fun! Oct 17 21:47:43 thank you all Oct 17 21:48:28 * bitkiller__ just got parse-server+app up and running Oct 17 21:49:55 why? Oct 17 21:55:38 bitkiller__: what's parse-server? Oct 17 21:56:36 the open source version of parse.com Oct 17 21:56:47 BaaS Oct 17 21:57:58 ok [] thing Oct 17 22:02:42 bitkiller__: what does parse.com do? I browsed the site and I didn't understand it. I understood that it's cool open source framework but... for doing what? Oct 17 22:03:06 Clouds, apparently. Oct 17 22:05:26 backend as a service Oct 17 22:05:36 data storage, rest access Oct 17 22:06:08 mongodb wrapper plus other things Oct 17 22:10:24 bitkiller__: ok. I'm very confused about BaaS. I never used it and the wikipedia definition is not very... definite. Thank anyway Oct 17 22:10:41 bitkiller__: what do people mean with "push notification"? Oct 17 22:11:07 "unrequested messages" Oct 17 22:11:12 Push notifications are notifications that original in Google-space to wind up in the notification area of an Android device Oct 17 22:11:27 !@# s/originate/original/ Oct 17 22:11:29 bitkiller__: what kind of notification are they talking about? Is it a low level thing like SignalR or some kind how high level like messages to the user? Oct 17 22:11:53 No, they're typically used when some event happens that the user has an interest in, but there's nothing running on the phone to detect that event Oct 17 22:12:13 Some server process elsewhere actually detects the event and sends a push notification to the user's device(s) via Google Oct 17 22:12:19 ok. So they are messages sent to the human user. Thanks Oct 17 22:12:32 They're extremely lightweight on the device end of things as well. Oct 17 22:12:48 Thanks for answering bitkiller__ and Dagmar Oct 17 22:12:52 'bout the only thing that needs to happen is the device register as actually listening for those notifications when it comes online Oct 17 22:13:10 Nothing needs to stay resident on the device (well, nothing specific to each app or class of push notification) Oct 17 22:13:42 The only inobvious caveat with them is that they're not guaranteed to be delivered in realtime Oct 17 22:16:40 Dagmar: thanks Oct 17 22:17:58 Melatonina: how long have you been dev on Android? Oct 17 22:18:33 soulisson: a month and a half to two months. Don't know exactly. I mean starting from zero Oct 17 22:19:41 ok Oct 17 22:20:22 soulisson: why do you ask? Oct 17 22:20:31 Melatonina: just curious Oct 17 22:31:39 bitkiller__: what kind of application do you use this BaaS for? Oct 17 22:33:55 If I understand correctly what you said to me earlier, a component == sub class and activating a component == instantiate the class? Oct 17 22:47:53 soulisson: yes, usually components are subclasses of the component base classes. For example actual activities are subclasses of Activity, etc. Oct 17 22:49:25 Melatonina: ok, thank you Oct 17 22:49:59 Dagmar: Do you agree with Melatonina last sentence? Oct 17 22:54:30 soulisson: You've not yet seen "class Blahblah extends Activity {"? Oct 17 22:55:50 It's close enough to accurate to pass the sniff test of my knowledge level Oct 17 22:56:10 Dagmar: how long have you been dev on Android? Oct 17 22:56:34 About two years. For the Linux end of things, about 20 years. Oct 17 22:56:52 Wow Oct 17 22:57:01 It's perfectly possible to be able to code and debug things without knowing the exact nomenclature Oct 17 22:57:43 I'll go so far as to say that before you've done this for very long at all, you'll be extending both TextView and Button Oct 17 22:57:52 You can pretty much count on that Oct 17 22:58:07 Dagmar: I've seen it but I'm trying to get used to the terminology, If I'm understanding correctly an Activity is a sub class of Activity, however in the documentation for the method onCreate(), we've the following sentence, "The system calls this when creating your activity" which seems to suggest the activity is the resulting object Oct 17 22:58:15 You'll get sick of manually setting the typeface on a textview each time, or decide you need a button with _two_ text labels Oct 17 22:58:35 soulisson: Yes they basically get layered over the top of each other Oct 17 22:58:45 soulisson: That's what the super thing is about. Oct 17 22:59:25 Does nexus 5 have any problems with camera or something? I have a camera app that works on 3 devices, but not the google nexus 5. No preview of the camera coming up Oct 17 22:59:26 soulisson: do you know the basics of object oriented programming? Oct 17 22:59:34 Once you extend Activity, all the methods in the Activity class happen in your thing. Of course, it's not very useful to do that with Activity unless you are overriding the methods that do stuff Oct 17 22:59:45 I'm guessing he's new to OO Oct 17 22:59:53 Melatonina: yes Oct 17 23:00:09 This shouldn't be very confusing then Oct 17 23:00:31 When you extend a class your class inherits all of the parent class' methods Oct 17 23:02:50 Let's say you have a MagicButton class that sets it's text labels blue when setText is called. You can extend that class, and calling YourClass.setText(sometext) will do the expected if you didn't override setText Oct 17 23:03:43 If you *did* override setText, you can do whatever special thing you want (make the text run backwards or something) and call super.setText(same args) to let the parent class do it's thing (i.e., whatever else and set the text blue) Oct 17 23:04:13 I've got an ElemntalButton class here that I got sick of setting the colors for the buttons each time, because basically they're just elemental types on the labels Oct 17 23:04:42 In my understanding, a class is an object model, hence a subclass of Activity represents an activity and a subclass of Service represents a service, if I follow this logic an activity is the object we get when we instanciate a subclass of Activity and a service is the object we get when we instantiate a subclass of Service, no? Oct 17 23:05:09 So I extended Button. Now setText on the ElementButton class has it's own method that looks at the text label passed, and sets the colors on the buttons appropriately. In every possible way it behaves exactly like Button class otherwise Oct 17 23:05:55 A class is a bit of code. It's designed as an object model Oct 17 23:06:28 They're _usually_ (but not always) designed so that you can create new objects that are copies of that class, at will, and each one will be a separate instantation Oct 17 23:07:05 ...with it's own copies of the instance fields and everything. Oct 17 23:08:32 Dagmar: ok, so an activity is an instance of an Activity subclass? Oct 17 23:09:48 When you use it, yes Oct 17 23:10:23 You can't exactly go compile "just" the Activity class because it's an empty shell Oct 17 23:12:40 Hence, if you want anything *meaningful* to happen, you extend the Activity class with your own class, and start laying the code that does what you want on top of it Oct 17 23:13:22 This is more acutely obvious with Fragments than it is with Activities Oct 17 23:13:31 guys, I don't have any specific question at the moment, i'm just wondering in general what the hell is up with gradle? why does android studio use it? it's probably the crappies build tool i've ever seen in my life. building some app that takes 30 seconds on iOS/Xcode, on android studio takes 10 minutes and even cleaning the project takes 2 minutes. and my latest encounter with gradle was today when i made the mistake of updating ... Oct 17 23:13:37 ... my android studio to the latest version and i found out that the build.gradle files are not backwards compatible so now i can't build the app anymore. i don't literally know any other IDE that doesn't have such basic functionality working as backwards compatibility with project files Oct 17 23:14:05 abax: You waited a very long time between upgrades, didn't you Oct 17 23:14:08 so use something else Oct 17 23:14:24 abax: It's there because it facilitates fanciness like "instant run" Oct 17 23:15:03 Dagmar: yeah i waited about 4 months because i didn't want to risk it breaking. but i updated it when i was interested in seeing whether the GPU debugging would work (well it didn't. it just asks to install the GPU debugging package every time even though i have installed it) Oct 17 23:15:33 abax: Easiest thing to do is start a new blank project in Android Studio and then copy all your stuff into it Oct 17 23:16:12 I have run into that myself. If you keep it frequently updated, gradle will upgrade it's files fine. Wait a long time tho and it will no longer know how to interpret the old gradle files Oct 17 23:16:33 Dagmar: yeah i'll probably do that. it just isn't that simple because there's a lot of custom stuff in the gradle script such as building c++ libraries and using external libraries and copying external asset files Oct 17 23:16:54 Instant Run is handy tho... Make some trivial change, click the button and it'll delta that change into the running app and restart it in about 1-2 seconds Oct 17 23:17:22 abax: yeah so gradle wasn't going to have much luck figuring that out on it's own probably anyway Oct 17 23:17:25 could be yeah. i mostly use c++ though... Oct 17 23:18:44 So if activities, services, are the components of an applications and those components are objects, it's not false to say that application components are the objects that get created from those classes, no? Oct 17 23:19:01 Sounds fine to me Oct 17 23:19:32 There's multiple meanings of "objects" in play there simultaneously tho Oct 17 23:19:55 if pfn were here, he’d suggest using sbt. Might be something to look into Oct 17 23:20:32 yay for gradle suckiness Oct 17 23:20:40 hehe Oct 17 23:20:56 Dagmar: which ones? Oct 17 23:21:04 pfn: yep Oct 17 23:21:28 and yes, sbt is better Oct 17 23:21:37 soulisson: "Object" is a term used for both actual and imaginary things Oct 17 23:21:48 Archetypical things even Oct 17 23:22:00 soulisson: It's the 3th or 4th time you repeat the same question. Are you ok? Oct 17 23:22:47 Let's take an Integer "object" for example. It's different from an int, although they can both contain relatively the same things Oct 17 23:23:34 as an object Integer, you're storing a number along with a reference to a bunch of methods that make it easier to deal with Oct 17 23:24:07 As a "plain" int, you're still storing an integer number, but that's it. No magical methods or things like .equals(someotherthing) operators Oct 17 23:24:55 This is where I start hating java nomenclature Oct 17 23:25:52 Because your first use of the word object is true for classes in the abstract (i.e. they're still conceptual) and java has it's very own use for the word "abstract" Oct 17 23:27:03 If I had to rewrite your sentence i would do away with Oct 17 23:28:11 Melatonina: yes, I'm clearing up things, please read my previous sentence, for you application components are the classes, for me they're the objects that get created, that's the only issue I have Oct 17 23:28:19 "So if activities, services, are the components of an applications" and replace it with "An application is a collection of instructions and related data that are organized into components" Oct 17 23:29:10 soulisson: They're objects to _Java_. To you they're still classes and methods Oct 17 23:29:37 soulisson is doing homework or something? Oct 17 23:29:46 You can think of them as objects and manipulate them as objects, but they're not the same thing as an object like you get with foo = new SomeObject(); Oct 17 23:29:59 soulisson: so when you don't run an application it does not have components? Is that your idea? Oct 17 23:30:00 Dagmar: Oh you're referring to the fact, that for the JVM classes the classes are objects as well? Oct 17 23:30:11 pfn: I think he's trying to work out some confusingly vague information he absorbed about OO previously Oct 17 23:30:19 soulisson: Yeeeees Oct 17 23:30:29 pfn: no, not homework Oct 17 23:30:36 It's all about context, which is ANOTHER word Android makes it irritating to use Oct 17 23:31:04 You wind up saying things like the contexts context contexts Oct 17 23:31:13 In the context of contexts. Oct 17 23:31:17 Yay fun Oct 17 23:31:38 There _are_ days I wish we just programmed in freakin Latin Oct 17 23:33:08 Melatonina: it has components, but I wouldn't call those components Activities, Services, I would call them definitions Oct 17 23:33:31 it has components but you wouldn't call them components Oct 17 23:33:43 except when you call them components Oct 17 23:33:44 ok Oct 17 23:54:54 hey TacticalJoke Oct 17 23:55:12 Hey, g00s! Oct 17 23:57:59 this was pretty good (2014) https://blog.jooq.org/2014/12/11/the-inconvenient-truth-about-dynamic-vs-static-typing/ Oct 18 00:02:41 Yeah, I agree. I don't see a single real benefit of dynamic typing today. Oct 18 00:04:17 I've always hated dynamic typing, though. Such a pain to debug. Oct 18 00:05:41 Static typing über alles! Oct 18 00:08:44 type erasure of generics is still my only real complaint about java's type system Oct 18 00:09:11 My biggest complaint is that we can't opt out of nullability. Oct 18 00:09:25 Also that nullability is the default. Oct 18 00:09:48 i like static typing just fine; i just hate having to type types Oct 18 00:10:03 you pretty much never have to with IDEA Oct 18 00:10:11 And not being able to use primitives as type parameters. :[ Oct 18 00:10:40 I don't know how to debug SignalR for Android Oct 18 00:10:48 they still have to be thought of, and using contracts and compound types is still a pain Oct 18 00:11:00 I'm going to sleep hoping that the bug will fix itself Oct 18 00:11:15 Does such things happen? Oct 18 00:11:18 Do Oct 18 00:11:26 more often than you’d think Oct 18 00:11:33 often it's the other way around Oct 18 00:11:44 sleep on something and it's all broken Oct 18 00:12:07 Zharf ceylon doesn't have erasure for generics :) Oct 18 00:12:12 Good night everybody. Don't let the bugs bite Oct 18 00:12:56 g00s, neither does c++, which is my preferred language ;) Oct 18 00:13:21 I should sleep as well Oct 18 00:20:08 eh, erasure of generics isn't a big deal Oct 18 00:24:24 erasure doesn’t mean you can’t get stuff done, but it makes things much harder than it needs to be. Oct 18 00:30:13 is it possible to write an Android app entirely in C/C++? Oct 18 00:30:35 sure. with the exception of a tiny amount of Java Oct 18 00:30:40 games do it all the time Oct 18 00:31:27 i am wondering what the smartest move is for my app. i want to make a tool whose existing code is Python right now, to port it to Java, Oct 18 00:32:05 but i'm wondering if i shouldn't just port it once to C/C++ and if that would make it easier to be naturally cross-platform, or if the differences would be so great that it'd still require having 2 separate repos Oct 18 00:32:25 i don't want desktop users to need Java, and i don't like that the desktop version is in Python Oct 18 00:35:01 I’m still lost in what you’re trying to do Oct 18 00:35:16 but if it’s an Android app, your best bet is to do it in Java Oct 18 00:36:04 if you want to share code, you can put the meat of the tool in a C/C++ library, and use that on the desktop and the apps Oct 18 00:50:06 sn0wmonster: you have to use java for platform-specific things such as user interfaces, app starting, stopping, going to background etc., loading and saving files and settings, playing sounds, in-app purchases etc. but the code that calls them can be c++ and you can use the same c++ on pretty much every platform that there is. so in my opinion c++ is a very safe choice because it's supported probably everywhere, in the case that ... Oct 18 00:50:12 ... most of the logic of your app is inside the non platform specific part and not, for example, in the UI (which is hard to so that it uses the same code on every platform) Oct 18 01:30:18 I want to make an app the monitor something and pop up an alarm when an event happens. Should I use a service? What kind? Bound or Started? Oct 18 01:35:05 MarkProffitt1: If you don't need to do anything asynchronous than a BroadcastReceiver could work depending on the events you want to listen to Oct 18 01:39:19 If you have to actively poll to detect the event, a Service is probably your best bet Oct 18 01:39:48 If it's something that can trigger based on a facility Android already has (like geofencing) then definitely just a broadcastreceiever Oct 18 01:40:53 If the work you need to do to get data for your notification is asynchronous than you will have to do a Service Oct 18 01:42:34 Egads do they ever update the Android examples? Oct 18 01:42:58 I was hoping for something that would actually function correctly when digging out the repeated alarms example Oct 18 01:43:31 You literally can't set up a repeating alarm with an interval of < 60 seconds post Android 5 Oct 18 01:44:17 Well... poop. Looks like a two-tiered system it is then Oct 18 01:44:21 Dagmar, yiati, I want to monitor several things but one is the temperature. I want to track the rate of change and pop up a message if it exceeds a limit. Can I do that with a BroadcastReceiver? Oct 18 01:44:48 I don't know that there's hooks for that even for hte internal battery Oct 18 01:44:52 You'll probably need a Service for that Oct 18 01:45:06 OK, so which type of Service? Oct 18 01:45:08 i.e., something that keeps running in the background and tries to avoid drawing attention to itself Oct 18 01:45:14 Yes Oct 18 01:45:37 Yeah um, a Service is basically an Activity with no UI and a very limited set of callbacks to care about Oct 18 01:45:45 You start it, it runs Oct 18 01:46:19 I will need a UI for settings and the Alarm Oct 18 01:46:27 Note that Services can be summarily murdered by ART/Dalvik if the phone gets low on resources Oct 18 01:46:37 But mostly it hides in the background doing its thing Oct 18 01:47:12 So... if this is _super_ important, you'll need to set it up as a higher priority service, which basically means a notification has to be set up (with the teensy icon) so it can be dismissed on demand Oct 18 01:47:42 MarkProffitt1: https://guides.codepath.com/android/Listening-to-Sensors-using-SensorManager Oct 18 01:47:49 Oooo... Shiny! Oct 18 01:48:07 Ah for built-in sensors Oct 18 01:49:05 Thank you Oct 18 01:50:08 If you're going to be doing high-frequency polling (intervals of under a minute) remember what I just said about AlarmManager. It literally won't do that. (It'll make sense when you get to that point) Oct 18 01:52:34 I'm a fan of it for other things because it _can't be killed by ART/Dalvik_ Oct 18 02:17:27 Dagmar, one minute should be OK Oct 18 02:20:45 foreground notifications don't have to have an icon in the status bar Oct 18 02:20:53 set priority low Oct 18 02:22:39 Hi, where is stored the apk signature? Oct 18 02:25:46 the same as any jar Oct 18 02:26:54 pfn: sorry, I've never wrote a jar application Oct 18 02:27:22 it's called use the google Oct 18 02:31:13 thanks Oct 18 02:54:28 Well, I've managed to get away without putting an icon up there, but they're certainly supposed to be required to have a notification up **** ENDING LOGGING AT Tue Oct 18 02:59:58 2016