**** BEGIN LOGGING AT Sun Jun 21 02:59:58 2015 Jun 21 03:02:53 omfg Jun 21 03:02:55 still the smae issue Jun 21 03:02:57 cant figure it out Jun 21 03:03:06 plz put me out of my misery Jun 21 03:03:24 ok what the fuck Jun 21 03:03:27 it works fine on the kitkat Jun 21 03:03:32 not on the lollipop Jun 21 03:05:42 guys Jun 21 03:05:52 File f = new File(Environment.getExternalStorageDirectory().toString()); works on kitkat but not on lollipop Jun 21 03:05:54 why is that Jun 21 03:06:20 "Starting in KITKAT, if your application only needs to store internal data, consider using getExternalFilesDir(String) or getExternalCacheDir(), which require no permissions to read or write." Jun 21 03:06:23 culprit is probably getExternalStorageDirectory() Jun 21 03:07:10 does anyone know, broadly speaking, what is the benefit of the Material Design Support Library's version f TabLayout compared to the old way? Jun 21 03:10:03 how do i change my code to make it go from externalstorage to externalfiles Jun 21 03:10:05 liftedbronco: http://developer.android.com/about/versions/android-4.4.html#Behaviors Jun 21 03:10:40 FYI, i have all those permissions Jun 21 03:11:03 then its because the Lollipop device you are testing with does not have a SDcard in it Jun 21 03:11:22 genius! it goesnt have an SD card! Jun 21 03:11:31 just use getExternalFilesDir Jun 21 03:12:41 liftedbronco: just use File f = new File(context.getExternalFilesDir(null), "your_file.xyz"); Jun 21 03:13:35 liftedbronco: or use http://developer.android.com/reference/android/os/Environment.html#getExternalStorageState() to verify the media is mounted Jun 21 03:15:49 what do you mean my context? Jun 21 03:15:53 by* Jun 21 03:16:07 File f = new File(CreatePollActivity.this.getExternalFilesDirs(null), "temp.jpg"); Jun 21 03:16:07 doesnt work Jun 21 03:23:45 Napalm Jun 21 03:24:46 File f = new File(CreatePollActivity.this.getCacheDir(), "temp.jpg"); Jun 21 03:28:17 Thanks! Jun 21 03:28:31 That doesnt give me an exception anymore, but gives me a different problem Jun 21 03:30:09 the resultcode isnt OK anymore Jun 21 03:36:09 hey Napalm Jun 21 03:36:27 File f = new File(CreatePollActivity.this.getCacheDir(), "temp.jpg"); Jun 21 03:36:27 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); Jun 21 03:36:27 startActivityForResult(intent, 1); Jun 21 03:36:35 these dont seem to return ok when the image is taken Jun 21 03:36:40 cant do it Jun 21 03:36:43 those files are private Jun 21 03:36:57 one moment Jun 21 03:36:58 err ?? Jun 21 03:37:41 wait Jun 21 03:37:49 not private if by own app Jun 21 03:38:08 if your using it in an intent to an external app it wont be able to access it Jun 21 03:38:16 just let the camera put it in DCIM why do you need to put it in your own cache dir? Jun 21 03:38:17 looks like thats what your doing with MediaStore Jun 21 03:38:37 if you need it in your own cache store, just get the dcim path and copy it over Jun 21 03:39:14 i dont follow Jun 21 03:39:35 :( Jun 21 03:40:40 you are taking a picture ? Jun 21 03:40:46 you want to save it to a particular directory? Jun 21 03:41:12 im taking a picture and displaying it in the image button Jun 21 03:41:16 then i want to upload it to parse Jun 21 03:41:27 you can't use private directory Jun 21 03:41:43 since it is permissed for your own app, camera app can't save there Jun 21 03:41:44 File f = new File(CreatePollActivity.this.getCacheDir(), "temp.jpg"); doesnt work? Jun 21 03:42:00 cache directory is permissed to rw only by your own app Jun 21 03:42:03 camera app can't save their Jun 21 03:42:06 *there Jun 21 03:42:25 you can do it somewhere else, that is public/external Jun 21 03:42:32 how do i get the directory that i can use? Jun 21 03:42:41 getExternalDirectory Jun 21 03:42:51 Environment.getExternalStorageDirectory() Jun 21 03:42:57 or just let it take a picture Jun 21 03:42:58 yeah no Jun 21 03:43:05 save it whereever it does by default Jun 21 03:43:06 that doesnt work on devices with no sd card Jun 21 03:43:09 return the URI Jun 21 03:43:12 no Jun 21 03:43:15 external is just not internal Jun 21 03:43:19 doesn't mean SDCARD Jun 21 03:43:28 anyways, just do startForResult to take a picture Jun 21 03:43:33 don't specify a directory Jun 21 03:43:34 well i had that problem Jun 21 03:43:39 it works on kitkat not on lollipop Jun 21 03:43:44 just get the uri of the picture from the return intent Jun 21 03:43:46 i was using getExternalStorage at first Jun 21 03:43:54 yeah kikat + changed permissions Jun 21 03:43:56 but wait Jun 21 03:43:57 listen Jun 21 03:44:02 don't specify a directory at all Jun 21 03:44:21 when you do startActivityForResult for camera app, if the result code returned is OKAY (ie pic was taken) Jun 21 03:44:28 the return intent will contain a uri to the file Jun 21 03:44:43 or contain some information you can use mediastore to look up the picture, then get its path Jun 21 03:45:19 see the problem is Jun 21 03:45:22 what I tried to do File f = new File(Environment.getExternalStorageDirectory().toString()); Jun 21 03:45:36 f.listFiles() returned null Jun 21 03:45:52 because there was no SD card Jun 21 03:46:00 http://stackoverflow.com/a/20856629/3865761 Jun 21 03:46:05 yeah Jun 21 03:46:12 so dont specifit external directory Jun 21 03:46:20 just let the camera app put it whereever it does by default Jun 21 03:46:33 the return intent will tell you something you can use to look up the path Jun 21 03:46:36 ie check that link Jun 21 03:46:48 then you dont have to worry about sdcard etc Jun 21 03:47:01 should i still have the setImageUri method Jun 21 03:47:03 just that RETURN Code or whatever returned OKAY Jun 21 03:47:03 like they did there? Jun 21 03:47:26 The first sentence of that article linked on /r/androiddev: "During my career I wrote a lot of login screen's [...]" Jun 21 03:47:27 otherwise how do i do it Jun 21 03:47:32 Srsly doe? Jun 21 03:47:41 no Jun 21 03:47:48 that's stupid Jun 21 03:48:10 http://hmkcode.com/android-camera-taking-photos-camera/ Jun 21 03:48:20 basically, you use the data from the returned intent Jun 21 03:48:26 to query mediastore Jun 21 03:48:38 and then you can get the path from the cursor Jun 21 03:48:59 i can't remember exactly, just debugger the return intent and look for the key to use to query the mediastore Jun 21 03:48:59 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Jun 21 03:49:00 File f = new File(CreatePollActivity.this.getCacheDir(), "temp.jpg"); Jun 21 03:49:00 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); Jun 21 03:49:00 startActivityForResult(intent, 1); Jun 21 03:49:02 is that right? Jun 21 03:49:07 no Jun 21 03:49:11 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); Jun 21 03:49:13 do not add this Jun 21 03:49:20 just let the camera put it wherever Jun 21 03:49:41 in onActivityResult Jun 21 03:49:45 look inside the intent Jun 21 03:50:02 it should contain some key for looking up the image via mediastore, from which you can get the path Jun 21 03:51:10 err ok sorry how is that done? Jun 21 03:51:46 in the stackoverflow it gives the image Jun 21 03:52:00 i dont remember specific Jun 21 03:52:03 like i said, Jun 21 03:52:21 onActivityResult has an intent, inside that intent is something you can use to query mediastore to get all the info on the pic Jun 21 03:53:37 err Jun 21 03:54:46 lol Jun 21 03:54:48 what do you jnow Jun 21 03:54:50 it works! Jun 21 03:54:55 thanks lol Jun 21 03:55:08 you still are using putExtra tho right? Jun 21 03:55:11 Bundle extras = data.getExtras(); Jun 21 03:55:11 Bitmap bitMap; Jun 21 03:55:11 bitMap = (Bitmap) extras.get("data"); Jun 21 03:55:11 firstImageButton.setImageBitmap(bitMap); Jun 21 03:55:18 ahh Jun 21 03:55:18 nice Jun 21 03:55:27 see, no need to do putExtra EXTRA_OUTPUT Jun 21 03:55:36 yeah who knoew Jun 21 03:55:39 thanks lasserix Jun 21 03:55:43 np Jun 21 03:55:59 you making a dick pic sharing app? Jun 21 03:56:01 now time to figure out how to upload to parse lol Jun 21 03:56:13 social voting app :P Jun 21 03:56:22 vote on which dick looks better Jun 21 03:56:25 heh Jun 21 03:56:50 http://www.androidhive.info/2014/12/android-uploading-camera-image-video-to-server-with-progress-bar/ Jun 21 03:56:55 lol Jun 21 03:57:06 actually i was gonna do that Jun 21 03:57:11 but i found out about parse.com Jun 21 03:57:17 and its a dream Jun 21 03:57:23 no stupid php backends for me (: Jun 21 03:57:49 free? Jun 21 03:57:52 takes care of the login, entity relationships, everything Jun 21 03:57:54 free at first Jun 21 03:58:01 cool Jun 21 03:58:03 its like google app engine Jun 21 03:58:16 if u dont know about it, u need to look into it Jun 21 03:58:26 literally does everything u could wish Jun 21 03:58:27 there's a better one Jun 21 03:58:33 parse has good docs Jun 21 03:58:37 and really easy to use Jun 21 03:58:42 i did a login in 5 minutes Jun 21 03:59:13 to log in its literally like Jun 21 03:59:14 ParseUser.logInInBackground(username, password, new LogInCallback() Jun 21 03:59:21 bam! Jun 21 04:00:34 same with image uploading Jun 21 04:00:51 just make sure dick pics dont violate TOS Jun 21 04:00:56 ;p Jun 21 04:01:46 liftedbronco: you might add a "Delete after upload" for the photo option for your user Jun 21 04:01:58 is that easy Jun 21 04:02:04 sure Jun 21 04:02:11 File f = new File(picturePath) Jun 21 04:02:13 f.delete Jun 21 04:02:33 or you can request that mediastore does it Jun 21 04:02:42 which isbetter i think but i dont know how to do it off top of my head Jun 21 04:20:19 Guys is there like a z-index for android? Jun 21 04:20:27 yes Jun 21 04:20:29 Im trying to place a FAB overlapping a toolbar a bit Jun 21 04:20:49 in your XML place it after the toolbar Jun 21 04:20:56 its now higher in the z-order Jun 21 04:21:20 Its in a dif xml file Jun 21 04:21:33 Maybe it shudnt be tho.. Jun 21 04:21:34 then you need to place it at the top level Jun 21 04:21:46 Place it at the top level? Jun 21 04:21:59 it should be a sibling next to the toolbar if you want it over the top Jun 21 04:22:13 Got it Jun 21 04:22:38 Its actually going over a SlidingTabLayout Jun 21 04:22:39 Same deal tho Jun 21 04:22:54 not really Jun 21 04:22:59 if your tabs are in the toolbar Jun 21 04:22:59 Why Jun 21 04:23:13 Theyre in a SlidingTabLayout Jun 21 04:23:18 Jun 21 04:23:39 Dont think mines set up like that Jun 21 04:26:37 drose379: you just need the fab to have lower child index than the whatever it is overlapping Jun 21 04:27:07 lasserix: higher Jun 21 04:27:10 if they are part of the same parent, you can in code do viewToOverlap.getIndexAt or something Jun 21 04:27:17 but also the ordering matters Jun 21 04:27:19 then do parent.addView(fab, overlappingIndex) Jun 21 04:27:29 naplam ordering and index are equivalent Jun 21 04:27:30 i love the smell of napalm in the morning Jun 21 04:27:30 So if I have them in a relative layout Jun 21 04:27:36 I have the SlididngTabLayout first Jun 21 04:27:38 then the FAB Jun 21 04:27:42 i mean with regards to parents Jun 21 04:27:48 The fab is still going below the sliding tab layout Jun 21 04:27:56 drose379: that or the opposite should be able to tell just look at preview Jun 21 04:28:05 OK Jun 21 04:28:09 Jun 21 04:28:13 for instance will never work Jun 21 04:28:28 well not unless you turn off clipping on all the parent views Jun 21 04:28:41 Want me to just show you the code Jun 21 04:29:05 show us a screenshot of the problem Jun 21 04:29:19 Ok one sec Jun 21 04:33:05 does anyone know where the api for the support new material ie snackbar api is? Jun 21 04:33:06 a url i mean, Jun 21 04:33:21 Napalm : http://i.imgur.com/ZUMAJUV.png Jun 21 04:33:52 erm Jun 21 04:34:03 shouldnt the plus be at the bottom of the box Jun 21 04:34:14 overlapping with json Syntax Jun 21 04:34:22 and the small version Jun 21 04:34:26 I want it to overlap the toobar area Jun 21 04:34:29 Half on the toolbar, half off Jun 21 04:34:35 but what are you adding? Jun 21 04:34:41 a programming language? Jun 21 04:34:52 The Programming is just an example, it could be anything Jun 21 04:35:00 "Programming" is a category Jun 21 04:35:40 But I need to push it onto the taskbar area Jun 21 04:35:46 Its the SlidingTabLayout actually Jun 21 04:39:06 http://pastebin.com/vj5kdmu5 Jun 21 04:39:17 so the fab needs to go after in the xml Jun 21 04:39:23 they both need to be part of same parent Jun 21 04:39:35 or the parent of the fab needs to be part of the same parent as sliding Jun 21 04:39:37 and so on Jun 21 04:39:51 OK, cool. Thanks Jun 21 04:42:09 http://postimg.org/image/ddbpiw2wp/2938e4fa/ Jun 21 04:42:15 it'll look like that Jun 21 04:42:24 http://postimg.org/image/ddbpiw2wp/ Jun 21 04:42:30 Right Jun 21 04:42:32 Thanks Jun 21 04:43:58 lasserix what about in a vertical LinearLayout Jun 21 04:45:12 won't work Jun 21 04:45:19 you need to put that in a frame or relative Jun 21 04:45:25 then put the linear layout and fab in that Jun 21 04:45:28 and position it as needed Jun 21 04:45:39 Ok, ill work with relative Jun 21 04:45:41 FYI much better to use framelayout, position by offseting with margins Jun 21 04:46:05 usually fab will always be in the same place like this, so you can just position it by pushing around the margins Jun 21 04:46:08 in a framelayout Jun 21 04:46:15 which is faster to layout than relative Jun 21 04:46:29 interesting, ok Jun 21 04:47:00 Does an not work in a relative layout Jun 21 04:47:01 ? Jun 21 04:59:35 should Jun 21 05:01:21 Having an issue with it Jun 21 05:04:08 My stuff just dissapears whenever I put it inside of a FrameLayout or RelativeLayout lasserix Jun 21 05:05:15 post your xml Jun 21 05:05:31 you probably have something covering it Jun 21 05:06:40 lasserix its just the parent thats having the issue Jun 21 05:06:41 http://pastie.org/private/gshckmja7k2lpuyennp4q Jun 21 05:07:52 http://pastie.org/10251143 Jun 21 05:08:13 your viewpager was overlayering your FAB Jun 21 05:08:22 also your toolbar Jun 21 05:08:49 Ahh! Jun 21 05:09:10 http://pastie.org/10251144 Jun 21 05:09:16 dont need that inner relative layout Jun 21 05:09:36 you probably want to add Jun 21 05:09:50 android:layout_below="@toolbar" to your viewpager Jun 21 05:10:48 Thanks man Jun 21 05:20:18 lasserix I dont even think I like where I put it after all Jun 21 05:20:47 your screen shot looked good Jun 21 05:21:03 Want an updated one? Jun 21 05:21:10 sure Jun 21 05:21:35 bed time Jun 21 05:21:36 guys Jun 21 05:21:41 http://i.imgur.com/a8PdquO.png Jun 21 05:21:46 after this course, I have to study up on android dev Jun 21 05:22:05 drose379: yeah i liked it on the thing better Jun 21 05:22:13 although its fine where it is Jun 21 05:22:16 where did you like it? Jun 21 05:22:33 hmm Jun 21 05:22:41 I may just do bottom right Jun 21 05:22:44 make the padding less Jun 21 05:22:49 around the viewpager Jun 21 05:22:55 Then itll touch the top of the card Jun 21 05:22:58 Which is what I dont want Jun 21 05:23:00 so the FAB is over both the viewpager and the thing Jun 21 05:23:10 i think its fine where it is Jun 21 05:23:13 maybe push it left a little Jun 21 05:23:25 For some reason I think it looks out of place Jun 21 05:23:28 Heres what I wanted: Jun 21 05:23:28 yeah Jun 21 05:23:38 So for each category, you can add a subject Jun 21 05:23:38 if you do it at the bottom then someone can use their thumb Jun 21 05:23:48 I wanted to give each card a FAB Jun 21 05:23:49 try it at the bottom Jun 21 05:24:04 OK Jun 21 05:26:38 Does the new android support lib come with FAB Jun 21 05:26:46 think so Jun 21 05:26:55 Cause I wanted it to dissapear on scroll and the current lib im using doesnt do that Jun 21 05:27:05 its easy Jun 21 05:27:10 just put a scroll observer Jun 21 05:27:31 And then change visibility true Jun 21 05:29:03 lasserix lemme get you a updated screenshot Jun 21 05:30:24 http://i.imgur.com/88gwQAX.png Jun 21 05:31:22 that looks contextually correct Jun 21 05:31:30 i infer that the add is now part of that list Jun 21 05:31:59 Great, thanks lasserix Jun 21 05:32:06 What you think of the colors? Jun 21 05:33:51 the FAB is the same as the action bar? Jun 21 05:34:00 *color Jun 21 05:34:13 Yes Jun 21 05:34:21 Actually, its a bit lighter Jun 21 05:34:38 i dont think it looks good Jun 21 05:34:46 it looks too out of place -- the color Jun 21 05:35:06 The color of the FAB? or all the colors Jun 21 05:35:43 just the fab Jun 21 05:36:06 You think I need an accent color becides the teal and the blue/grey ? Jun 21 05:36:17 i dont know Jun 21 05:36:28 but the FAB background color in that screenshot looks out of place Jun 21 05:36:35 Ok, hmmm Jun 21 05:38:52 lasserix you ever used the Snackbar from the SDK support lib? Jun 21 05:39:04 no not yet Jun 21 05:39:09 i was using nispoik Jun 21 05:39:25 but want to switch over Jun 21 05:39:37 Just switched over, having some issues Jun 21 05:39:55 How did nispoik create the Snackbar? Jun 21 05:42:59 Getting the weirdest error Jun 21 05:43:03 wanna take a look lasserix Jun 21 05:44:13 got it actually Jun 21 05:46:54 yeah Jun 21 05:47:08 how did he create it? Jun 21 05:47:15 you just add a hcild view in code Jun 21 05:47:20 use viewtreeobserver etc etc Jun 21 05:47:32 snackbar is nothing that special Jun 21 05:49:30 hcild? Jun 21 05:49:37 oh Jun 21 05:49:39 child Jun 21 06:06:31 in my video player app, to get the stream url, i need to make a GET request with a username/pass the user has put in, parse the response for an API hash, then return the url of the stream where the API hash is part of the url. if the api hash has been retrieved in the past 120 minutes, i just need to return the url of the stream. is async task the best for this? Jun 21 06:07:47 i basically need a blocker i guess Jun 21 06:08:13 * capella not looking forward to friggin 12 hours commute to monday conference :/ Jun 21 06:12:24 whats the best way to do sync HTTP calls without doing networkonmainthread? Jun 21 06:12:56 you have to do it off the main thread Jun 21 06:13:09 you can block on a thread spawned from a background thread if it blocks the parent thread Jun 21 06:13:23 ie main spawns A which spawns B b can block a Jun 21 06:13:38 when b unlocks, and a unlocks then a can callback to main Jun 21 06:14:00 aaearon: Use Retrofit Jun 21 06:26:03 eh ok but im thinking retrofit may be overkill. i only need to, if it hasnt been done in the last two hours, make a single get request that looks like http://site.com/whatever/hash.php?site=abc&u=username&pass=word and get the response and then make another url that includes the hash Jun 21 06:34:55 Then roll your own and learn the hard way Jun 21 06:39:04 ok i can tell you disagree ;) Jun 21 06:39:08 aaearon: you are more than welcome to write a request with HttpUrlConnection Jun 21 06:39:18 the question is why not use a library? Jun 21 06:39:56 you can also use "easier" ones like OkHttp, Volley, LoopJ etc. Jun 21 06:39:56 well id be using okhttp. and the idea i had would be to use okhttp to make async call and on successful response, return the stream url im talking about Jun 21 06:40:27 seems like i came in mid discussion Jun 21 06:40:31 missed the begining Jun 21 06:40:36 what are you trying to do? Jun 21 06:40:37 but then the problem with that is, if ive grabbed an api hash within the past 120 minutes, i dont need to make the http call at all and as a result successful response never would be called Jun 21 06:40:59 I don't know how to parse that Jun 21 06:41:41 in my video player app, to get the stream url, i need to make a GET request with a username/pass the user has put in, parse the response for an API hash, then return a url of a video stream where the API hash is part of the url (for auth). if an api hash has been retrieved in the past 120 minutes, i dont need to make another GET request, i just need to return the url of the stream. Jun 21 06:42:34 I would use Retrofit+Rx. A less complicated solution would be a LoadingCache with expiration of 120m where you store the hash Jun 21 06:43:57 ok i will read up on Rx. thanks Jun 21 06:44:48 If you think Retrofit is overkill, you'll find Rx even more overkill Jun 21 06:45:05 Without any dependency, create an executor with a couple of threads in it and run your GETs in it Jun 21 06:45:20 make a timetamp of when you got the API hash to you can know if you need to refetch it or not Jun 21 06:48:13 i think whats giving me a hard time is the concept of running this GET in async fashion. i have my generateUrl() method and my getHash() method. when i getHash(), i store the hash and a timestamp of when it was last retrieved. in generateUrl() it checks the stored timestamp, and if needed runs getHash(). whats throwing me for a loop is how to block generateUrl() to wait for the retrieval of the hash and once it has Jun 21 06:48:13 it, to continue on with generateUrl() Jun 21 06:48:17 if that makes any sense Jun 21 06:49:50 oh no, i have to downcast :( Jun 21 06:51:05 aaeren you could just make the check constant Jun 21 06:51:13 if it returns false it goes Jun 21 06:51:19 if it returns true, it does the request Jun 21 06:51:25 just do it all on the same thread Jun 21 06:51:27 no need to block Jun 21 06:52:01 true. would async be the best for this? Jun 21 06:52:04 asynctask Jun 21 06:52:10 doesn't matter Jun 21 06:52:29 Handler h = new Handler(Looper.getMainLooper()) h.post Jun 21 06:52:35 use that to callback to main thread Jun 21 06:52:54 doesn't matterif you use async or threadpool or whatever Jun 21 06:53:07 ah ok great Jun 21 07:33:48 some time ago, I saved one of my projects ... without the gradle part .. now I just added the project to my new android-studio install .. and it says it can't find "Theme.AppCompat.Light.DarkActionBar" Jun 21 07:34:18 maybe you are missing the appcompat dependency Jun 21 07:34:22 I added "android-support-v7-appcompat.jar" to the external libraries list .. what else should I do ? Jun 21 07:35:46 open build.gradle file and check if there is something like compile 'com.android.support:appcompat-v7:22.1.+' Jun 21 07:36:45 don't have any build.gradle ( when I saved my project .. manually .. months ago .. didn't save anything gradle related .. just the java files, assets, androidmanifest and res Jun 21 07:36:47 ) Jun 21 07:37:47 can't this be done without gradle ? :/ Jun 21 07:38:42 in AndroidStudio i dont think youll find a proper way to do it Jun 21 07:38:52 why not create a new project and just copy over your source/xml files Jun 21 07:39:19 dang .. thought I'd keep it "clean" :) Jun 21 07:39:23 BlackBishop: still got the eclipse project? Jun 21 07:39:31 open the original project in eclipse Jun 21 07:39:34 and export for gradle Jun 21 07:39:38 then import it into AS Jun 21 07:40:00 lasserix: no eclipse project :) started it in android studio .. then thought to change computers .. saved some stuff .. Jun 21 07:40:06 or Jun 21 07:40:09 just reimport it Jun 21 07:44:15 +1 Jun 21 07:46:02 I'll learn how to add the gradle files back .. Jun 21 07:54:56 dont Jun 21 07:55:00 its fairly complicated Jun 21 07:55:04 to set up all the files Jun 21 07:55:09 much easier to reimport Jun 21 08:19:00 lasserix: fixed that part Jun 21 08:19:20 compileSdkVersion android-22 requires compiling with JDK 7 Jun 21 08:19:24 isn't jdk7 EOL ? Jun 21 08:22:42 You can compile with a newer jdk if you want Jun 21 08:23:06 As long as you compile java7 compatible bytecode Jun 21 08:24:26 yeah, just noticed mac's default is 1.6 Jun 21 08:44:00 Is there a way to use android support design library without v7 appcompat? I got minsdk 21 application Jun 21 08:46:29 no Jun 21 08:46:32 thats the whole point Jun 21 08:46:41 you can copy the source into your poject Jun 21 09:06:17 is it possible to transcode files via MediaRecorder? not sure but if somehow files can be pointed as source... Jun 21 09:51:23 Hey guys anybody here who ever worked with Parse? I cant seem to find some of the functions stated in the Docs... like -> getInBackground Jun 21 09:51:31 Please bare with me I DC allot Jun 21 09:51:40 guys how can i install binaries compiles by ndk on my device Jun 21 10:12:28 hello Jun 21 10:12:44 is there a specific reason why we're not allowed to pass objects between activities? Jun 21 10:12:56 I mean, it's a design choice Jun 21 10:14:59 paulo_: ... you can Jun 21 10:15:26 it needs it to be parcelable Jun 21 10:16:23 Hey, I want to create a service that's independept of the Activity who started it (it wont die when it dies) and I need the activity to be able to call functions of the service......... Is that possible? Jun 21 10:16:54 Hello. I've a question. If two fragments save a the same parcelable object and the activity containing those fragments gets destroyed. When recreated, will those 2 fragments have the same reference of the object? Jun 21 10:17:01 when using a myTextChangedListener.afterTextChanged, how do I find the 'TextViews' etc? Jun 21 10:17:09 paulo_: no, it doesn't. Activities, unless explicitly arranged, run inside the same process Jun 21 10:17:31 p_l: that would require using static fields Jun 21 10:17:45 gavit, a possible solution was posted here http://stackoverflow.com/a/6172024/3249477 Jun 21 10:18:25 asimas: thanks :) Jun 21 10:18:26 paulo_: not really - you even have a ready-made singleton object to take care of such things - Application class (just subclass it) Jun 21 10:21:01 p_l: hmmm Jun 21 10:21:09 do you have sample code of this? Jun 21 10:21:22 not at the moment Jun 21 10:28:10 mmm, a bound service allows communication with the activity, what if the activity dies? does the service dies? Jun 21 10:30:49 is it easy to develop on the lollipop SDK, and then gradually add support for older versions of android? Jun 21 10:36:40 expr, I'd advise to develop using the support libraries from the beginning Jun 21 10:38:09 gotcha. do the material design elements in the support libraries behave, look and perform the same as those in the lollipop SDK? Jun 21 10:38:24 that's my main concern Jun 21 10:39:37 hi all... I have this simple custom adapter http://pastie.org/10251338 Jun 21 10:40:13 I want to track checkbox isChecked true/false, but I'm always getting invalid id in onClick method Jun 21 10:40:30 should I define tag for checkbox differently? Jun 21 10:41:58 is it possible to have a spinner display like "+91" in normal state but "+91 (India) (flag maybe)" in its dropdown? Jun 21 10:44:40 expr, those that are available - yes. Jun 21 10:44:56 FrEaKmAn_, what's item.id? Jun 21 10:45:40 asimas: unique id.. primary key from db Jun 21 10:45:52 based on that I populate checks map Jun 21 10:46:22 FrEaKmAn_, and inside of the listener you don't get this id from the tag? Jun 21 10:46:31 yup asimas Jun 21 10:47:30 I'm trying now with setOnCheckedChangeListener Jun 21 10:48:28 FrEaKmAn_, but you only set the tag on the first N items when (convertView == null) Jun 21 10:48:46 yes, is this wrong? Jun 21 10:49:16 FrEaKmAn_, yeah. Add this line at the end of the else block that follows: holder.sync.setTag(item.id); Jun 21 10:49:47 Found it, use getView() and getDropDownView() in the Adapter to return different views Jun 21 10:50:25 works asimas thanks Jun 21 10:50:34 FrEaKmAn_, you're welcome :) Jun 21 12:44:08 the colorstatelist of my textview has only one entry even that I've told it to use a drawable that has 4 entries. Jun 21 12:48:49 Hello I am a beginning android developer Jun 21 12:49:57 I am trying to use Apache poi in my android project. I am including it via Android Studio: File -> Project Structure -> App -> Dependencies -> add a new library dependency. Jun 21 12:50:47 But when I want to create a new class using: XSSFWorkbook workbook = new XSSFWorkbook it says it cant resolve the symbol CSSFWorkbook Jun 21 12:50:50 saapas, how do you check that? Jun 21 12:51:07 asimas, while debugging Jun 21 12:51:42 asimas, I click on the textview -> debugger pauses execution -> I read the textview properties Jun 21 12:52:15 saapas, well does it work properly on a device? Jun 21 12:52:53 asimas, haven't done that yet. does my colorstatelist have to be under res/color, or is res/drawable ok? Jun 21 12:53:43 saapas, res/drawable is good. ColorStateList might be a wrapper. So debugger displays unwanted values for some specific drawable fields. Jun 21 12:56:16 Anyone with good JNI knowledge ? Is there a way to get an address of a C function that is already JNI registered (I know to what JAVA method it is registered to) ? Jun 21 12:57:24 asimas, oh my now it works. ha. didn't work: setTextColor(R.drawable.tag_text_colors); this works: setTextColor(getResources().getColorStateList(R.color.tag_text_colors)); Jun 21 12:58:09 saapas, ahh nice find :) Jun 21 13:03:21 i'm getting a weird exception: java.lang.IllegalArgumentException: n <= 0: 0 Jun 21 13:03:21 at java.util.Random.nextInt(Random.java:182) Jun 21 13:05:34 paulo_, it tells you that n is equal or lower than 0, which is forbidden in random range Jun 21 13:05:43 because there is no point of asking a random value between 0 and 0 Jun 21 13:05:50 please, learn to read the documentation Jun 21 13:05:56 oh ok Jun 21 13:06:17 I was thinking the opposite Jun 21 13:06:33 documentation will teach you to write? Jun 21 13:06:44 Jun 21 13:07:19 paulo_, probably, you provide nextInt() with a negative number and it doesn't like it ? Jun 21 13:07:19 argument to nextInt should be positive Jun 21 13:07:38 http://developer.android.com/reference/java/util/Random.html#nextInt(int) see it tells you "Returns a pseudo-random uniformly distributed int in the half-open range [0, n)." Jun 21 13:07:48 paulo_, https://docs.oracle.com/javase/6/docs/api/java/util/Random.html#nextInt() Jun 21 13:08:15 I have an app that is also a torch, it supports only API 21+. For the torch, should I use the old api or the new. If the new, How do I enable torch? Jun 21 13:08:33 mathematically, [0, 0) is a non sense Jun 21 13:08:45 you cannot include and at same time exclude the same value (0 in this case) Jun 21 13:08:46 I'm not actually sending a 0 to nextInt Jun 21 13:09:00 something's screwing up the code Jun 21 13:09:07 java.lang.IllegalArgumentException: n <= 0: 0 <--- it tells you, you gave 0 Jun 21 13:09:13 (after the :) Jun 21 13:09:15 weirdly, it only happens on the very first run Jun 21 13:16:28 Hello, I've got a problem with JSON.net, this is the program http://pastebin.com/3UTEGjy0 , and this is the error: http://pastebin.com/bYqmbDTA , can anyone help? Jun 21 13:16:55 i have random bug :( Jun 21 13:17:00 *a Jun 21 13:17:04 heisenbug Jun 21 13:17:07 what ever it's called Jun 21 13:27:01 if the phone is powered off, how is it able to receive remote message? Jun 21 13:29:38 it's not. Jun 21 13:29:43 rrr_: if you are NSA, that may be possible :) Jun 21 13:31:01 Mavrik: my phone wakes at set clock time even it is power off Jun 21 13:31:25 What does that have to do with remove messages? Jun 21 13:31:31 You have an alarm set, some phones can do that. Jun 21 13:32:41 Mavrik: so there is a way to wake up the phone when it is power off Jun 21 13:32:56 ... Jun 21 13:34:39 alarm can be set in code Jun 21 13:37:42 do you want to turn the phone on with a remote message? Jun 21 13:37:48 it's not possible Jun 21 13:41:56 nothing is impossible Jun 21 13:41:59 If the alarm clock still works while the phone is powered off, then it's not really powered off. The manufacturer probably just implemented some low power mode with limited functionality.. It's unlikely that you can execute code in this state Jun 21 13:42:46 But other than that, no.. You can't power on a device that is powered off from code Jun 21 13:43:43 rrr_: is it possible that something is impossible? Jun 21 13:45:54 SimonVT: why unlikely run code in low power mode Jun 21 13:48:23 rrr_, because low power mode is meant to avoid doing continuous work. Jun 21 13:49:29 asimas: it does not need to do loop poll Jun 21 13:50:35 rrr_, setting an alarm clock tells the phone to wake up at a specific time. Listening to messages is different. It involves looping. Jun 21 13:52:11 asimas: how is that different, hardware interrupt Jun 21 13:52:15 omg Jun 21 13:53:31 asimas: how alarm clock works Jun 21 13:57:42 rrr_, why don't you do some research on your own? :) Jun 21 13:58:10 yes I am googling "remote wake up computer" ,a lot ther Jun 21 13:58:38 there is wake-on-lan Jun 21 14:10:27 yes, it's possible, I've seen it in movies Jun 21 14:13:17 I'm trying to develop an app for a Naked-Eye tablet, that plays 3D video. Does anyone know of a 3D SDK or any 3D libraries that takes a splitscreen video and plays it in 3D? Jun 21 14:13:27 Any tips at all are welcome Jun 21 14:41:08 hi, i've heard it's not so easy to get contributions in. I've found a trivial bug in the phone app that i'd like to contribute.. what's the easiest way. I don't care that much if i get my name to it or so.. Jun 21 14:43:23 hi i need help in nested fragment Jun 21 14:44:03 how i can get instance of childfragment inside father fragment? Jun 21 14:45:49 findFragmentById inside onCreateView return null Jun 21 14:47:00 anyone can help? Jun 21 14:51:16 henschnil: http://s.android.com/source/contributing.html would be the official place to start Jun 21 14:52:35 ? Jun 21 14:54:44 LeedsHK: thanks, so I can report it as a bug, and maybe it'll be in until next cookie, but will i be able to contribute it myself without much hassle? (it's really trivial and simple for anyone to see that it's a bug) Jun 21 14:54:45 xan_IT: that wasn't an answer to you Jun 21 14:55:28 henschnil: see where it says "Submitting patches"? :) Jun 21 14:55:39 LeedsHK it's correct to call findFragmentById inside onCreateView = Jun 21 14:55:41 ? Jun 21 14:56:07 no idea, I don't use fragments Jun 21 15:00:35 LeedsHK: :) Thanks. I'll give it a shot Jun 21 15:04:20 henschnil: good luck... for what it's worth, I know external patches do get accepted, but I've heard of responses being really slow Jun 21 15:07:02 LeedsHK: Aha, yes that's what i've heard as well.. Sometimes, or often, going the "official way" takes time :) I bet i'd get it in much faster via someone in this channel if i tried;) Jun 21 15:07:22 unfortunately, we don't really have any active Googlers in here anymore Jun 21 15:09:14 aah okay, good to know, well then i'll contribute it, at least i'll have my name on one character in the android source if they haven't already found it internally :) thanks! Jun 21 15:12:22 im trying to populate database table into listview but i have a problem with post execute Jun 21 15:12:29 my code http://pastebin.com/e9Ajnkdq Jun 21 15:12:55 the database function im calling in background http://pastebin.com/bZRAfEPs Jun 21 15:13:08 henschnil, what's the bug Jun 21 15:13:29 stacktrace http://pastebin.com/G1SbM1LE Jun 21 15:13:35 pfn: http://androidxref.com/5.1.0_r1/xref/frameworks/opt/telephony/src/java/com/android/internal/telephony/CallManager.java#656 Jun 21 15:13:41 how do i fix Jun 21 15:14:01 pfn: ! should be = Jun 21 15:14:58 if you look at registerForPhoneStates you see it's a simple copy-paste error Jun 21 15:15:47 Indeed Jun 21 15:15:57 good find Jun 21 15:17:19 thanks:) Jun 21 15:19:10 how do i fix the issue in postexecute Jun 21 15:19:17 or have i done it completely wrong Jun 21 15:33:45 Hi! http://pastebin.com/Wv7xB92X is my code. Having issues in my onBindViewHolder, it doesn't get any items from my List. The logger doesn't show a url Jun 21 15:33:51 anyone know where my issue is? Jun 21 15:35:38 I don't know why pastebin is blocked in my ISP. Jun 21 15:36:36 macs is your list empty? Jun 21 15:37:20 No, the logger in the constructor shows that I have 20 items Jun 21 15:40:44 but the logger isn't even called in onBindViewHolder Jun 21 15:42:27 show how u use the adapter Jun 21 15:44:01 http://pastebin.com/KNPRXRWT Jun 21 15:44:44 you dont set the adapter to the gridview./ Jun 21 15:44:48 thats why its not called Jun 21 15:46:58 oh neato, big misstake Jun 21 15:46:59 thanks alot! Jun 21 16:06:00 what does this mean? "Beginning with API 19 (KITKAT) alarm delivery is inexact: the OS will shift alarms in order to minimize wakeups and battery use." Jun 21 16:06:35 it means if you set an alarm for 30 seconds from now, it will probably happen in ~60 Jun 21 16:07:01 and if 5 apps have 5 alarms set w/in 30 seconds of eachother, they'll be delayed (or fire early) to all trigger at once Jun 21 16:07:23 i manaegd to fix the listivew population but inow i want to show image from getting column and set itt as webview Jun 21 16:07:31 http://pastebin.com/DMzfUsTv Jun 21 16:07:53 the problem is i get cannot resolve method eror Jun 21 16:07:56 http://i.imgur.com/rZbk4mo.png Jun 21 16:08:01 any solutions to this? Jun 21 16:08:25 dragorn: my question is for the latter part of the sentence after : Jun 21 16:08:47 rrr_, what I just said. It means alarms will be changed by the OS. Jun 21 16:09:06 hi, i closed android studio first setup (were it installs sdk etc), can i re-run it ? Jun 21 16:09:16 don't expect precision when setting an alarm. Jun 21 16:09:34 dragorn: how does that relate to wakeups and battery use? Jun 21 16:10:01 rrr_, everything wakes up at once and does it work, instead of waking up the device a dozen times. Jun 21 16:15:34 dragorn: what does "devices asleep" mean exactly? Jun 21 16:16:07 rrr__, it means it's in low power state and not generally processing application code until something wakes it up. Jun 21 16:16:30 D:? Jun 21 16:17:59 rrr_, its about the CPU. when device is asleep, cpu is clocked down to save battery. If it wakes up only once to handle 5 alarms, this is a battery save compared to waking up 5 times Jun 21 16:18:50 dragorn: does cpu wake up also waking up screen? Jun 21 16:19:12 no Jun 21 16:19:27 Does waking up the cpu wake up the screen? Not necessarily, no, why would it if you're only doing background processing? Jun 21 16:19:32 but a screen wakeup also wakes up cpu Jun 21 16:20:47 that whole delaying alarms to save power is annoying when you set a timer to go off when your food has finished cooking - I've nearly burnt a couple of things because of it Jun 21 16:21:02 trying to build a library, but I am getting this funny error from gcc: c:\users\red\desktop\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebu Jun 21 16:21:02 ilt\windows\lib\gcc\arm-linux-androideabi\4.9\include\stdint.h:9:26: fatal error Jun 21 16:21:02 : stdint.h: No such file or directory Jun 21 16:21:02 # include_next Jun 21 16:21:22 stdin Jun 21 16:21:24 not stdint Jun 21 16:21:29 erry, no, stdint is totally valid Jun 21 16:21:33 oh Jun 21 16:21:33 nvm Jun 21 16:21:34 why he doesn't have it, I don't know Jun 21 16:21:39 i was thinking of stdio Jun 21 16:21:42 derp Jun 21 16:21:44 but stdint defines stuff like fixed-size values, uint8_t, etc Jun 21 16:21:44 ignore me. Jun 21 16:21:52 sure looks like a typo tho Jun 21 16:21:54 BRAIN no braining Jun 21 16:21:56 :D Jun 21 16:22:54 Nizumzen: then must be your clock app isn't right. alarms can be set in exact time if you want just not as default Jun 21 16:23:13 Kitt3n, if I had to guess I'd say it's something in your Android.mk or Application.mk not setting an include path properly, but do a file search and see if it's even present Jun 21 16:23:28 rrr_: its the standard alarm app included with android Jun 21 16:23:53 dragorn, it's not building with the android build system, using gmake, well, hmm. Jun 21 16:24:09 Nizumzen: no idea Jun 21 16:24:10 Nizumzen, never seen behavior like that, and even deferred alarms should trigger within 60 seconds Jun 21 16:25:02 odd its happened to me a few times Jun 21 16:25:15 running android 5.1 Jun 21 16:25:26 on a nexus 4 Jun 21 16:25:33 dragorn, I get it, heh. there's more than one stdint.h in the ndk, bloody hell. Jun 21 16:25:42 dragorn: does alarm retain during power off/reboot? Jun 21 16:25:46 rrr_, no Jun 21 16:38:18 dragorn: does SMS message wake up the device when it is asleep? Jun 21 16:40:55 hi, I'm following Big Nerd book and trying out first few pages. I'm using Android Studio, but not able to see R.java in my project tree anywhere. Jun 21 16:42:48 at the top right of AS there is like a dropdown menu Jun 21 16:43:06 right now you have it on "Android" Jun 21 16:43:17 click on it and select "Project" instead Jun 21 16:44:40 top left for you probably Jun 21 16:44:42 https://www.dropbox.com/s/td1vgbkfzlkumx7/Screenshot%202015-06-21%2019.44.19.png?dl=0 Jun 21 16:45:50 Odaym, thanks (goes to try) Jun 21 16:51:04 I'm still unable to find it http://i.imgur.com/tso9poe.png Jun 21 16:51:24 open "generated" Jun 21 16:51:47 why does it look like that there.. Jun 21 16:51:49 i dont have it like that Jun 21 16:53:08 nope, nothing there :/ Jun 21 16:53:50 when is this file generated? any conditions? Jun 21 16:53:58 hey do I have to include a library for android callback() to work? Jun 21 16:54:01 upon run Jun 21 16:54:30 Well, I wanted to set some resource ids to strings. Jun 21 16:54:37 Oh no its part of the Parse Lib....The docs from the Parse Lib does not seem to work :/ Jun 21 16:54:51 you never touch R, enitiz Jun 21 16:55:22 really, that was given in big nerd book Jun 21 16:55:42 you edit the xml and the build tools generate R.java for you Jun 21 16:55:57 you never edit R.java yourself, it'll get wiped out the next time you do a build Jun 21 16:56:05 i see Jun 21 16:56:18 they dont tell you you touch R Jun 21 16:56:23 they tell you about R and what it ihas Jun 21 16:56:26 thats it Jun 21 16:56:30 dang.. spent my morning on this :') Jun 21 16:56:34 you need to see it though, keep looking Jun 21 16:56:36 :) Jun 21 16:56:44 try pressing double Shift in Android Studio Jun 21 16:56:51 and type R.java Jun 21 16:56:52 you will see it Jun 21 16:56:54 Hey, I'm using a gridview in a relative view. I want to populate the gridview with pictures. I want each picture to have a rate up, rate down, name of user that uploaded it, etc... How do I make this happen? Jun 21 16:57:27 Odaym, well, I serached there and was able to see the R class. Cool. Jun 21 16:57:58 yea that's where the stuff is Jun 21 16:58:00 thanks Odaym, dragorn Jun 21 17:06:59 I basically just want to know how to overlay each picture with an interface Jun 21 17:07:24 Can one go to flashmode without using hardware keys? Jun 21 17:19:14 where is g00s Jun 21 17:19:15 ? Jun 21 17:21:45 So I clicked, in AS, Analyze, Inspect Code. Then I click the Export as HTML and give it a folder to export to. The resulting folder contains a few of the report data, but almost all the pages are blank html pages with no index.html. Anybody else seen this or have any idea on how to fix it? I'd really like to be able to print out the "Probable bugs" section so I can check them off as I go. Jun 21 17:24:33 Can someone please help me with a Parse Lib docs? Jun 21 17:27:07 I am following this Document for the Parse SDK -> https://guides.codepath.com/android/Building-Data-driven-Apps-with-Parse ->So eventually I get to where I would like to get a Query...The example in the DOC that does not work is right underneath the heading = Querying Objects...it looks like this ->http://pastebin.com/RZ4Q47EY Jun 21 17:27:12 Good morning. Jun 21 17:28:04 Could anyone be so kind to explain a bit to me how to turn an activity class in to a non-activity class? I'm having issues with the code part that usually goes in onCreate() Jun 21 17:29:19 package ... public class MyClass { ...your code ... } Jun 21 17:29:36 qkzoo1978, Hmm... for me? Jun 21 17:30:04 If it's not an Activity class you probably won't have an onCreate class. Jun 21 17:30:09 err method. Jun 21 17:30:57 Without more info it's a little hard to say. Jun 21 17:31:22 i manaegd to fix the listivew population but inow i want to show image from getting column and set itt as imad Jun 21 17:31:29 *imageview Jun 21 17:31:38 http://pastebin.com/DMzfUsTv Jun 21 17:31:44 the problem is i get cannot resolve method eror Jun 21 17:31:50 http://i.imgur.com/rZbk4mo.png Jun 21 17:31:55 any solutions to this? Jun 21 17:32:24 The picture link didn't work. Jun 21 17:33:26 http://i.imgur.com/rZbk4mo.png Jun 21 17:33:37 So I clicked, in AS, Analyze, Inspect Code. Then I click the Export as HTML and give it a folder to export to. The resulting folder contains a few of the report data, but almost all the pages are blank html pages with no index.html. Anybody else seen this or have any idea on how to fix it? I'd really like to be able to print out the "Probable bugs" section so I can check them off as I go. Jun 21 17:34:46 Ya, when I open the link to that image it sayserror: cannot find symbol method setViewBinder() Jun 21 17:35:22 try picpaste.com Jun 21 17:36:20 thats the error im getting lol Jun 21 17:36:35 when i run it lol Jun 21 17:36:43 oh, lol Jun 21 17:37:06 That's in your logcat? Jun 21 17:37:40 no gradle build Jun 21 17:38:04 Oh, I'm a little new to using Gradle, sorry :( Jun 21 17:38:23 I'm having trouble just exporting my lint reports! Jun 21 17:38:48 ahh Jun 21 17:39:46 I am following this Document for the Parse SDK -> https://guides.codepath.com/android/Building-Data-driven-Apps-with-Parse ->So eventually I get to where I would like to get a Query...The example in the DOC that does not work is right underneath the heading = Querying Objects...it looks like this ->http://pastebin.com/RZ4Q47EY Jun 21 17:40:21 I cant get that function to work...the Intellisense also cant find it :/ Jun 21 17:47:19 Whenever I try to export my Lint reports from within AS as HTML these are the only files created, where are all the others? Can I do this from the command line somehow? http://www.zimagez.com/zimage/screenshot-06212015-014532pm.php Jun 21 17:50:01 are there any libs/guidelines for handling sync of the app with external API? to have an option to merge data, download images, have progress indication... Jun 21 17:58:06 How do you run lint from the command line with gradlew? I've tried ./gradlew lint (or --lint, or :lint) but it doesn't work. Jun 21 18:17:51 hey guys, i have a conceptual question: i am using an AlarmManager to set some events, but it should be possible to cancel them, after closing and reopening the app (intend and other data ist lost). how can i solve this best? Jun 21 18:21:49 alarm id Jun 21 18:25:57 Howdie. This is a class Im working on to try sending steps counted to unity (this class and others are supposed to be a plugin). http://pastebin.com/6RGvBTkF The thing is, the method sendSteps should be getting the steps, but I cannot reference sendSteps from stepsChanged because it is non static. Any ideas? Jun 21 18:44:57 g00s: http://endlesswhileloop.com/blog/2015/06/11/stop-using-event-buses Jun 21 18:45:09 thepoosh hey lol yeah, saw that Jun 21 18:45:20 dunno what to think Jun 21 18:46:19 sometimes its easy and harmless other times there is a better way Jun 21 18:46:46 event spaghetti is a thing Jun 21 18:47:02 Eh, it's full of crap as usual. Jun 21 18:47:18 Replacing Otto/EB with an event bus based on Rx doesn't fix bad design and event spaghetti Jun 21 18:47:41 at least, i dont think thats what he advocated, but i'm not reading it again Jun 21 18:48:00 thats just swapping one impl for another, which has 0 net gain Jun 21 18:49:57 Well I don't know what he was actually advocating Jun 21 18:50:06 Besides saying "Use RxJava instead of an eventbus" Jun 21 18:52:24 lol thepoosh left Jun 21 18:58:55 event buses suck, but they're so easy Jun 21 18:59:23 I'd rather just use an event bus unless there's a handy rx adapter for something I'm doing Jun 21 19:04:43 sup TacticalJoke Jun 21 19:05:14 If anyone wants to check out a UI for me: https://vid.me/t0bq Jun 21 19:05:28 Hai. Jun 21 19:06:23 drose379 hmm ... i dont think thats good Jun 21 19:06:29 Why? Jun 21 19:06:48 the FAB is letting you create new categories and subjects .. was going kinda fast to see Jun 21 19:07:02 Yes it does Jun 21 19:07:05 but adding a child to a parent should be an action on the parent Jun 21 19:07:06 Was that a question? Jun 21 19:07:18 So you think I need a FAB for each category card? Jun 21 19:07:23 jesus Jun 21 19:07:28 fuck the fab Jun 21 19:07:32 ?? Jun 21 19:07:41 just put an action on the card Jun 21 19:07:58 or use the FAB for new top level things only Jun 21 19:07:58 Like a button Jun 21 19:08:07 A button on each card Jun 21 19:08:17 the material specs talk to this Jun 21 19:08:24 Do they? Jun 21 19:08:36 Do you think I + button in the top right of each card wud be better? Jun 21 19:08:38 http://www.google.com/design/spec/components/cards.html#cards-actions Jun 21 19:09:14 oh ok g00s so maybe something below the list items with an action Jun 21 19:10:39 drose379 also it seems like you are translating a listview with groups into a list of cards with lists Jun 21 19:10:54 yeah thats what it is Jun 21 19:11:08 that might need to be rethought. maybe the top level only shows the cards, and then you have to drill down into details to add children Jun 21 19:11:39 Does anyone know where adb.exe is? Seems to be gone. Jun 21 19:11:54 hmm g00s Jun 21 19:11:56 drose379 how you want to present this probably hinges on the breadth and depth of the tree Jun 21 19:11:58 Trying to use adb commands in the android studio prompt but need to be in the dir with adb Jun 21 19:12:12 depth of the tree? Jun 21 19:12:42 if you have few top level things each with lots of children vs many top level things with just a few children Jun 21 19:12:58 I really dont know the size of the tree, its all user generated content Jun 21 19:13:49 Agent_Smith1: It should be in `/platform-tools`. Jun 21 19:15:07 drose379 i forgot where it is, one of my old interaction design books. but there is a metric of 'selecting one from many' and how this relates to timing, how the list is presented - usually this comes into discussion when you are building a menu hierarchy Jun 21 19:15:21 Ok Jun 21 19:15:46 but anyhow, maybe just best to leave the cards top level, have some description on the cards, and then going into details shows children Jun 21 19:16:04 so many ways to slice this. if the cards themselves have no actions, get rid of the cards Jun 21 19:16:20 Im adding an action to the cards right now actually Jun 21 19:16:25 maybe then you could use SlidingPaneView or something, with the categories on left and subjects on right Jun 21 19:16:41 Im trying the add function to each card Jun 21 19:16:52 So the FAB could only be used to create one thing Jun 21 19:17:14 generally actions that apply to a thing should be on the thing Jun 21 19:17:23 Right Jun 21 19:17:30 Thats what im trying to implement rn Jun 21 19:17:59 Hey thanks for the help Jun 21 19:18:20 np ; but still i wouldn't allow creation of parent and child in same interaction space Jun 21 19:18:26 its could be too confusing Jun 21 19:18:56 drose379: Just to add (though it's less important): it'd be nice if you could get rid of the app title and put the tabs up there (though I'm not sure whether that's doable), and also I'm not a fan of that toast/snackbar that shows "Success" or whatever it was. Jun 21 19:19:18 Yeah that thing is ugly rn Jun 21 19:19:21 Thanks TJ Jun 21 19:19:41 I think it is doable, but why get rid of the toolbar? Jun 21 19:19:43 I think success should be assumed (especially because they can {in some cases} see the list updating). Jun 21 19:20:28 So no Snackbar at all? I was thinking of adding an action to it where they can navigate to their new subject Jun 21 19:21:50 In what way would they navigate to their subject? Would that involve opening the subject in a new screen? Jun 21 19:22:22 The "Subject Dashboard" would be a new activity Jun 21 19:24:08 Hmm, is there any reason you're not just allowing them to click a card to open the subject dashboard (where they can add/remove/whatever lessons)? Jun 21 19:24:19 As far as I can think, that'd solve every problem. Jun 21 19:24:33 Though I'm not much of a card shark. Maybe that's not the typical thing. Jun 21 19:24:46 No thatll be an option too Jun 21 19:24:58 Either they choose an item from the card Jun 21 19:25:17 or when they create it they can choose to navigate it using the action in the snackbar Jun 21 19:25:21 but thats just an option Jun 21 19:30:30 What I mean is making the entire card clickable, leading to the subject dashboard. Jun 21 19:30:41 There (and only there), they can add children to the subject. Jun 21 19:30:42 But the card represents a category Jun 21 19:30:53 The items inside the card are subjects Jun 21 19:33:56 Okay, I was confusing subjects and categories. I still wonder whether it'd be a better idea, though. (I mean making them click the card before they can add/remove children to the .) Jun 21 19:34:40 Could be, ill look into that Jun 21 19:38:55 Not sure about this... http://i.imgur.com/DnW3TM1.png Jun 21 19:39:07 hey guys, i'm trying to use an AppBarLayout containing a Toolbar, and now my Toolbar's menu icons have all been tucked into the overflow menu even though there is a whole lot of room. any ideas? Jun 21 19:40:44 drose379 maybe put delete action, not add. once you navigate into the card then people can add Jun 21 19:40:57 I agree. Jun 21 19:41:11 The add would be to add a subject to the card tho Jun 21 19:41:13 An analogy is a file explorer. IME, they all require you to go *into* the directory before you can mutate its children. Jun 21 19:41:24 There really is no navigate into the card here Jun 21 19:41:27 i think you are framing your UI around material stuff; think of the use cases first Jun 21 19:41:29 You can mutate things only at one level below the current one (not two or more). Jun 21 19:41:53 But theres no navigating into these cards Jun 21 19:42:00 not even convinced cards are a good thing for this Jun 21 19:42:12 Won't the list get huge then? Jun 21 19:42:24 It may Jun 21 19:42:43 What if I have 10 categories, each of which contains nine subjects? That's 100 basic things. Jun 21 19:42:55 Yeah, it wud be a big list Jun 21 19:42:59 Or 90, depending on how we define "thing". Jun 21 19:43:07 Right Jun 21 19:43:28 is it an xml flag i need to set or something? Jun 21 19:43:52 TacticalJoke you think I should just have the category cards, and the user must click the card to view the inner subjects? Jun 21 19:43:56 I actually like that too Jun 21 19:44:03 A typical solution would be to make the category clickable and to show only N of its children (e.g., if a category has 100 children, you show only the first five or something). Jun 21 19:44:11 And to require clicking it to change it. Jun 21 19:44:45 I think so. I'm trying to imagine other solutions right now. Jun 21 19:45:47 Me too, ill be back in a few Jun 21 19:45:54 I mean, you could allow clicking either "Programming" (to go to the category) or "Creating a CMS" (to go to the subject). Jun 21 19:47:06 But tht wouldnt eliminate the long list issue Jun 21 19:47:24 Yeah, that could be solved by showing at most N subjects (on that screen, anyway). Jun 21 19:47:51 True, so I would still have the category activity Jun 21 19:47:55 Where all the subjects are shown Jun 21 19:48:04 Ok, ill be back soon Jun 21 19:48:07 thanks for the help Jun 21 19:48:10 Or you could (for simplicity) disallow clicking the subject. Jun 21 19:48:11 Okay. Jun 21 19:48:20 Hey guys. In Android Studio I am trying to find the "textview" with ID, I only see "plain textview." What am I doing wrong? Jun 21 19:48:48 I actually think I prefer the simplicity of that. Jun 21 19:48:51 jennifer, you mean in the Pallette view? Jun 21 19:48:57 Yesh. Jun 21 19:49:33 jennifer, like, you are trying to drag something into your layout editor and have it just be a TextView? Jun 21 19:49:50 if so, you're looking at the right thing Jun 21 19:50:13 drag it in and you'll see Jun 21 19:51:47 for anyone interested in my on-going "icons don't show up" saga, it was because my menu xml was using android:showAsAction instead of app:showAsAction Jun 21 19:52:01 Hm. Jun 21 19:52:51 Here's the context. I am making a Sunshine app with Google's tutorial. I am at the step to create a list item layout. I did so by right clicking then new -> "list_item_foreast.xml." Jun 21 19:53:35 Then I hit that newly created file and.. well, looking in the palette view, Google said to create "create this file containing TextView with ID." Jun 21 19:53:51 jennifer, do you have a link to this tutorial? Jun 21 19:53:57 Yeah one second. Jun 21 19:54:09 jennifer: It means "Create a TextView and give it the ID ". Jun 21 19:54:23 A view can have an ID. There's no "TextView with ID" thing. Jun 21 19:54:38 yeah, any view can have an ID, you decide what that ID is and then you can use it in java code Jun 21 19:55:41 This is the course. https://www.udacity.com/google And... http://i.imgur.com/wXGNApM.png Jun 21 19:55:55 oh, ok Jun 21 19:55:57 so what it's saying Jun 21 19:56:15 is to create a TextView, and then for its ID it wants you to use the thing in quotations Jun 21 19:57:54 Hey guys sorry I dunno what happened there. Jun 21 19:58:00 that's ok Jun 21 19:58:02 The last thing I saw was what I linked. Jun 21 19:58:16 what it's telling you to do is to create a textview and where it asks for an ID, type in the exact contents of the quotation marks Jun 21 19:58:47 Wait that sounds simple, I'm slow. Jun 21 19:59:00 Oh .... I feel stupid now. Jun 21 19:59:01 anyone of a content provider tutorial that describes how to implement a query method that returns an object that turns the raw db data into instances of your custom class ? Jun 21 19:59:04 It's right down there. Jun 21 20:00:02 we all make silly mistakes, i was literally in the process of making one when you showed up Jun 21 20:01:47 :) Yep. Let me continue on. Jun 21 20:02:26 By the way, it keeps asking me if I want to add it to git, does that mean that when I do add it, it'll show up on my github account? Jun 21 20:02:35 oh boy Jun 21 20:02:39 That is, employers or anyone on the internet can see my code? Jun 21 20:02:55 git is complicated, so stop me if you don't understand something Jun 21 20:02:59 the short answer is, no Jun 21 20:03:05 Well, until I push it, yeah? Jun 21 20:03:16 so i assume as part of this, you set up a github account, a repository for your code, and added files from your project into this repository? Jun 21 20:04:19 Yup. Jun 21 20:04:49 Pretty much, part of the whole course is that if you pay for it, they will help you create your own project at the end and you can finally publish it, not just on github but on the Android market too. Jun 21 20:04:53 so when you create a new file, android studio asks if you would like to "add" it to git Jun 21 20:05:05 a git "add" operation is you telling git, "hey, please pay attention to this file" Jun 21 20:05:06 I didn't pay for it, opting for the free course so everything regarding that is sort of uh, just "here you go, you're on your own then." Jun 21 20:05:24 When does the pushing occur? Jun 21 20:05:35 well, we're not there yet Jun 21 20:05:56 so when i say that you're telling git to pay attention to the file Jun 21 20:06:06 what you are doing is creating a list of files that will be included as part of the next "commit" Jun 21 20:06:26 a commit is when you basically create a milestone, i.e. "this is what my project looked like on June 21 at 4:06 PM" Jun 21 20:06:36 once you have a commit, then you can push it Jun 21 20:06:57 and at *that* point, yes anyone can see your code Jun 21 20:07:47 Oh. Jun 21 20:07:51 Yes I got that. Jun 21 20:07:56 so when Android Studio asks you if you want to add the file to git Jun 21 20:08:08 if you say yes, you'll see the file in the list on the left turn green, right? Jun 21 20:08:19 Yes. Jun 21 20:08:24 It's probably best to learn Git if you're going to use it. Jun 21 20:08:37 TacticalJoke, I have an idea of how it works. Jun 21 20:08:49 Android Studio tries to hide some of this stuff away from you, but basically that green color means you are adding a new file as part of the next commit, whenever it is that you decide to make that commit Jun 21 20:08:55 I'm just not familiar with Android Studio, this first lesson is how Android Studio works. I just don't know when the next commit happens. Jun 21 20:09:15 if you tell AS not to add it, you can still add it later Jun 21 20:09:27 I'm not sure it's a good idea to let Android Studio do this Git stuff for you. Jun 21 20:09:32 and AS will color it orange-ish to say "this file is not being version controlled, be careful with it" Jun 21 20:09:38 as for when to make a commit, that's your choice. Jun 21 20:09:53 one thing i dont get is AS has confirm options for add/delete, but not move Jun 21 20:10:02 (git options) Jun 21 20:10:16 Ohh now I see that part. Jun 21 20:10:20 I got it sigmabeta. :) Jun 21 20:10:42 jennifer, in general i make a commit whenever i think "man, if I ruin this entire project tomorrow by accident, I'd really like to get back to where i am right now" Jun 21 20:10:48 so like, i finish a feature, boom commit Jun 21 20:11:51 By the way the text is colored, there is no bubble. Jun 21 20:12:03 Good idea. Jun 21 20:12:13 Or I can just branch away if I think I might ruin something. Jun 21 20:12:47 yeah, i'm being a bit comical, there's lots of reasons one might make a commit Jun 21 20:13:21 just in general, it's not very helpful if you commit something that is incomplete Jun 21 20:13:36 Yeah I figured as much. Jun 21 20:13:49 say 5 years from now you get an error report from a user, saying "it definitely worked before version 987138912" Jun 21 20:14:16 so you revert to the commit right before that to see what you did... you don't want to have to figure out a bunch of typos and compilation errors from 5 years ago Jun 21 20:14:46 beyond that, just do whatever keeps things organized for you, and potentially your team Jun 21 20:15:43 Damn, 5 years. Jun 21 20:16:06 I hope more companies use git. Jun 21 20:16:21 it sounds like you're new to software development? Jun 21 20:16:26 We used other version controls. It's so much better, I wonder why my company didn't use it. Jun 21 20:16:27 I am. Jun 21 20:16:31 if so, here's something they should 100% put more emphasis on: Jun 21 20:16:34 I'm still a junior in cs. Jun 21 20:16:37 Mercurial is better, IMO. Git just got lucky. Jun 21 20:16:51 the code you write today is going to look like incomprehensible gibberish to you in 6 months Jun 21 20:17:28 TacticalJoke, git and hg are both quite good, and much better than some of the alternatives Jun 21 20:17:31 Here's my sad little cl post. http://newyork.craigslist.org/mnh/res/5085332707.html Jun 21 20:17:31 ever heard of accurev? Jun 21 20:18:02 Yes, only on NYU fb page, people mention others like accrued. Jun 21 20:18:09 NYU CSE page that is, sorry. Jun 21 20:18:19 jennifer, one more piece of advice: https://www.youtube.com/watch?v=nuHfVn_cfHU Jun 21 20:18:21 Not the NYU page itself, bunch of Tish and other liberal art people. Jun 21 20:18:25 I don't think I've heard of AccuRev. Is this a Borland thing? Jun 21 20:18:43 TacticalJoke, yeah they actually recently got bought by borland Jun 21 20:18:49 accurev has been around for a while Jun 21 20:19:01 wow borland still exists? Jun 21 20:19:03 i don't really like to disparage other people's work, but it is thoroughly unpleasant software to use Jun 21 20:19:10 pagefault, that's exactly what i said!!! Jun 21 20:19:49 pagefault: Yeah, I am quite surprised that Borland.com is still going. Jun 21 20:20:23 TacticalJoke you still there? Jun 21 20:20:26 Hm.. Jun 21 20:20:27 One sec. Jun 21 20:20:30 jennifer, a CL post and an IRC channel are probably not a great place to go for career advice, but Jun 21 20:20:30 sigmabeta: I like to disparage work when it sucks. Even my own. Jun 21 20:20:30 I like it. Jun 21 20:20:36 I'm gonna save it. https://www.youtube.com/watch?v=nuHfVn_cfHU Jun 21 20:20:37 ah borland has caliber, thats huge Jun 21 20:20:50 jennifer, as much of a platitude as it is, you will be fine as long as you don't give up Jun 21 20:21:09 keep trying to learn, keep asking the right questions, and don't be afraid to make the most of your github account Jun 21 20:21:13 drose379: Does a lion enjoy a gazelle steak? Jun 21 20:21:21 Yes Jun 21 20:21:25 So heres what im thinking Jun 21 20:21:28 That's how "here" I am. Jun 21 20:21:30 hahah Jun 21 20:21:59 TacticalJoke, I mean, I just feel really bad, accurev is really really not good, but that doesn't mean a lot of people didn't work really hard on it Jun 21 20:22:10 get an internship Jun 21 20:22:24 most univeristies should be helping you find a job Jun 21 20:22:34 pagefault, I've had internships. Jun 21 20:22:36 A short one. Jun 21 20:22:39 It sucked. Jun 21 20:22:59 even if it sucks it's still experience Jun 21 20:22:59 But it's not helping. Do I get more internships? Jun 21 20:23:14 thats what any employer is going to look at over anything Jun 21 20:23:19 So, the category cards show 2 subjects, and below the two subjects it says "X more subjects..." and if they click that it either shows the rest, or brings them to an activity where all are listed Jun 21 20:23:23 they don't care what school you went to or what your grades are Jun 21 20:23:27 they care about what you did/doing Jun 21 20:23:42 frankly i am very dubious on the value of internships Jun 21 20:24:05 TacticalJoke did you get that? Jun 21 20:24:11 Yes. Jun 21 20:24:15 Nah they do. Jun 21 20:24:15 lol Jun 21 20:24:28 What you think TJ? Jun 21 20:24:30 sigmabeta: I think the world isn't critical enough about bad software, and I feel this leads to terrible solutions being used for years. Jun 21 20:24:34 e.g., JavaScript, PHP, etc. Jun 21 20:24:38 Most of the class that graduated this year and ended up working for big tech companies are kids from our school. We beat Columbia this year in numbers. Jun 21 20:24:47 But they were also just as skilled. I'm not smart. :( Jun 21 20:25:04 drose379: Nice idea. I think I prefer the simplicity of a category (card) being clickable with one consequence: the user goes to the screen for that category. Jun 21 20:25:09 jennifer, i got an ECE degree from a school that no one has heard of outside of its Law program, now i work as an Android developer Jun 21 20:25:17 no one cares about what school you went to in software dev Jun 21 20:25:18 drose379: And there's nothing else they can do. Jun 21 20:25:23 sigmabeta, but wait, as in working for Google? Jun 21 20:25:23 But that's just my preference. Jun 21 20:25:24 OK, got it Jun 21 20:25:28 Or working as an app developer? Jun 21 20:25:28 No I like that too Jun 21 20:25:43 jennifer, i have a 9-5 job with a non-google company writing that company's android apps Jun 21 20:25:47 Imagine a directory browser: you can open a directory, delete a directory, etc. Jun 21 20:25:55 You can't (usually) do anything to its children (until you open it). Jun 21 20:25:59 Right Jun 21 20:26:07 sigmabeta how you liking the job? Jun 21 20:26:07 i can't tell you if internships are your answer, i never had one and like i said i'm very doubtful they'll help Jun 21 20:26:09 Then you can keep your FAB. :D Jun 21 20:26:18 i can tell you that 100% of why i have the job i have now is my github account Jun 21 20:26:20 Because the FAB is then unambiguous: it means "create a new category". Jun 21 20:26:27 oh Jun 21 20:26:38 Hm. Jun 21 20:26:42 drose379, i like android dev'in Jun 21 20:26:42 May I see your github account? Jun 21 20:26:54 it's github, you don't need permission Jun 21 20:26:56 so what is the problem jennifer is facing? Jun 21 20:27:06 drose379, a crisis of motivation Jun 21 20:27:17 ah Jun 21 20:27:26 I just need a damn job. >< Jun 21 20:27:34 Cant find one? Jun 21 20:27:38 Are you in college? Jun 21 20:27:43 No but I need to develop a good portfolio. Jun 21 20:27:50 I just wanna know how much stuff to put into github. Jun 21 20:27:54 Right now my github is mostly hw. Jun 21 20:28:04 honestly no one cares where you went to school, or even if you went to school Jun 21 20:28:07 Have you ever worked on a personal project? Jun 21 20:28:09 they want your skills and experience Jun 21 20:28:18 drose379, not really, other than trivial little projects like the one i'm working on now. Jun 21 20:28:26 I find that really hard to believe. Jun 21 20:28:28 o.o Jun 21 20:28:38 So throw it on github if you think it shows some of your skills as a developer Jun 21 20:28:46 jennifer, you should try to come up with a personal project Jun 21 20:28:48 udacity.com/google Jun 21 20:28:50 it doesn't have to be a big one Jun 21 20:28:52 That's the personal project I'm working on . Jun 21 20:28:54 I know. Jun 21 20:28:57 95% of the stuff you learn in university will become outdated/useless in a real job Jun 21 20:28:59 I was in ##programming a couple month ago. Jun 21 20:29:05 I asked for ideas. Jun 21 20:29:09 you need to learn on your own and have a side project Jun 21 20:29:12 They said they wouldn't give, cause if they did, then they'd be doing it themselves. Jun 21 20:29:17 something like, hey I really hate not knowing what town i'm currently in, so i wrote an app where i push a button and it says "hey, you're in london" Jun 21 20:29:33 finish that, throw it on github, file job application Jun 21 20:29:34 pagefault, nah, I don't entirely believe that. My school teaches up-to-date stuff and also have industry professors. More than half of my professors worked in NASA, etc. Jun 21 20:29:52 sigmabeta, holy shit, I can do that? (no sarcasm) Jun 21 20:29:54 company sees github, says "wow, this person had a problem, figured out all the steps necessary to solve that problem, then did it. boom, hired" Jun 21 20:29:59 I always thought that projects on github had to be complete and polished. Jun 21 20:30:06 or, go to college at columbia and don't do the github thing, file job application Jun 21 20:30:07 I interview people from ivey league schools all the time Jun 21 20:30:08 they are dumb as fuck Jun 21 20:30:18 all the education and no experience Jun 21 20:30:22 company sees degree, says "wow, this person was at school for 4 years." Jun 21 20:30:28 pagefault, from the cs department? Man hard to believe. Jun 21 20:30:31 You guys at topsider? Jun 21 20:30:51 it's not hard to believe if you never had a side project or did anything outside school Jun 21 20:30:59 because you don't have any experience with real world problems Jun 21 20:31:04 and companies don't want that Jun 21 20:31:07 http://www3.cs.stonybrook.edu/~skiena/talks/topcoder.pdf Jun 21 20:31:09 Check that study out. Jun 21 20:31:13 here's the thing about guys from NASA, jennifer Jun 21 20:31:18 none of your NASA profs wrote android code at NASA Jun 21 20:31:25 none of them wrote JS Jun 21 20:31:30 none of them wrote ruby, etc Jun 21 20:31:42 http://www.infoarena.ro/olimpici Jun 21 20:31:46 Hm, I guess that's true. Jun 21 20:31:53 they are friggin rockstars, i bet, when it comes to writing an algorithm that does X thing with a 1mhz processor in 0 nanoseconds Jun 21 20:31:54 but Jun 21 20:31:58 thats ok, android, ruby and JS are horseshit Jun 21 20:32:04 But they wrote the stuff that JS, Ruby, etc library are based on, no? I know for a fact my Python professor helped developed some of the Python library. Jun 21 20:32:05 in like 5 years out of college Jun 21 20:32:08 i've never needed to do that Jun 21 20:32:16 my day job consists of figuring out why an icon didn't show up somewhere Jun 21 20:32:20 or making this animation work right Jun 21 20:32:33 or figuring out how to make a feature work on phones that don't come with it built in Jun 21 20:32:43 Hm. Jun 21 20:32:45 those are analytical problems that can't be taught in a school Jun 21 20:32:46 You should get a better job ;) Jun 21 20:32:48 sigmabeta, what does your specification look like? Jun 21 20:33:08 real world job is fixing someone else's bugs all day Jun 21 20:33:13 I hate bug fixing. Jun 21 20:33:15 Mavrik, i'm obviously oversimplifying, i love my job Jun 21 20:33:23 topcoder has an entire category about that that I avoid like a champ. Jun 21 20:33:26 where can I find the log to this channel? I wanna see the rest of this convo but have to leave Jun 21 20:33:31 Why would I want to work on someone else' code? Jun 21 20:33:43 because you have to and you will Jun 21 20:33:45 jennifer, because the other part of my job is getting data from our servers Jun 21 20:33:46 drose379: I find it by googling two or three usernames. Jun 21 20:33:48 and i didn't write the server code Jun 21 20:33:52 It's usually the top two or so hits. Jun 21 20:33:56 Ok, cool Jun 21 20:33:57 but if the server doesn't work, i can't just say "well, that's your problem server guy" Jun 21 20:34:00 Great convo going on Jun 21 20:34:01 i have to work with him to fix it Jun 21 20:34:05 Mavrik, nothing wrong with his job though, mind you my internship was much worse. Jun 21 20:34:24 or, my android app is bigger than i can do on my own, and i have to work with 3 other devs to make it happen Jun 21 20:34:29 but one of the other devs wrote a bug somewhere Jun 21 20:34:30 In addition to coding, I had to get coffee for my boss and get hit on by people I don't want to be near because they smelled so bad from the other dept. Jun 21 20:34:33 experience is getting your crap to work well with other people's crap Jun 21 20:34:44 because no one rarely writes a full stack themselves Jun 21 20:35:00 jennifer, hence the dubious value of internships IMO Jun 21 20:35:25 internships are good at building social capital Jun 21 20:35:38 g00s, on paper i believe that Jun 21 20:35:39 Ah fuck people. Jun 21 20:36:10 people are gonna give you a job Jun 21 20:36:26 It also depends of course, having a 3 month internship is useless, since you can't be put to any good work. Jun 21 20:36:33 jennifer well, programming is a social thing too; only get so far not wanting to deal with people :) Jun 21 20:36:35 yeah you need a long internship Jun 21 20:36:41 like we only do 12 months at least Jun 21 20:36:54 any shorter than that they have to leave before they know anything Jun 21 20:36:57 and is a waste of time Jun 21 20:36:58 In 12 months you can actually get an intern, teach him something and then he can contribute. Jun 21 20:37:13 In 3 months most dev companies won't let interns touch the codebase. Jun 21 20:37:32 3 months they are still figuring out how to push to git Jun 21 20:37:33 :/ Jun 21 20:37:45 Mavrik wut ? in all of my internships i was touching production code in weeks. of course, there was a mentor Jun 21 20:37:54 Google internship is only 3 month. Jun 21 20:37:57 I doubt google internship is useless. Jun 21 20:38:03 Plus you get like $5000 a month. Jun 21 20:38:10 Google internship best internship. Jun 21 20:38:22 g00s, O.o Jun 21 20:38:38 but this was 90s, so it was embedded and tooling stuff - not web apps :D Jun 21 20:38:42 Yeah, I'm not letting anyone that doesn't know how Git works within the same post code of production code :P Jun 21 20:38:51 git didn't exist Jun 21 20:39:01 (Note that obviously it depends on knowledge level of the intern.) Jun 21 20:39:14 (Small typo fixes are ok.) :P Jun 21 20:39:37 google is an exception to many rules and generalizations Jun 21 20:39:41 one thing internships are good at, is they expose people to politics Jun 21 20:39:58 you can't escape politics, no matter how egalitarian things are supposed to be Jun 21 20:40:12 g00s do you mean politics like 'office politics'? Jun 21 20:40:16 any politics. Jun 21 20:40:23 like "how daaaare you revert that commit i poured my heart and soul into" Jun 21 20:40:23 apes have politics, people do too Jun 21 20:40:25 or like Jun 21 20:40:27 people relations > everything when it comes to career Jun 21 20:40:30 politics politics Jun 21 20:41:11 geeks like the idea of meritocracy, but its a rare thing in reality Jun 21 20:41:28 I hate people. Jun 21 20:41:36 so, politics politics Jun 21 20:41:58 lol, and as you go from code monkey to make an architectural role, its just more and more politics Jun 21 20:42:11 because then, you are working across business units Jun 21 20:42:18 and everybody likes their fiefdoms Jun 21 20:42:33 jennifer: I agree. People are selfish, unreliable, etc. Jun 21 20:42:37 in fairness Jun 21 20:42:42 joe over in backend is kind of a jerk sometimes Jun 21 20:43:41 assuming jennifer is female (just hunch, not sure) probably the biggest challenge will be sexism Jun 21 20:43:54 Living alone is ideal for a misanthrope. :D You can avoid people often. Jun 21 20:44:25 sexism combined with ageism can be toxic, so skills navigating those waters will be useful Jun 21 20:44:39 I'm more worried about being a good enough coder. Jun 21 20:44:41 g00s, i agree, but i think it is not such a good idea to talk politics politics in here Jun 21 20:44:43 associate yourself with good people Jun 21 20:44:47 Than sexism. Anyway let's talk about coding guys. Jun 21 20:45:06 you need to do that in any career Jun 21 20:45:08 you're still working on the basics Jun 21 20:45:26 so it is easy to think that the people who are not still working on the basics are on some untouchable level of genius Jun 21 20:45:30 with very few exceptions, we are not Jun 21 20:45:45 being a 'good coder' is mostly about knowing which questions to ask, either to a person or to google Jun 21 20:45:50 knowing how to approach a problem Jun 21 20:45:50 etc Jun 21 20:45:55 Yeah. Jun 21 20:46:00 Well, I'm surprised none of you entered topsider. Jun 21 20:46:04 just stay hungry and curious and you'll do fine Jun 21 20:46:10 also Jun 21 20:46:17 You should get to the point where anyone else would quit Jun 21 20:46:20 Heh. If our interns don’t touch production code in the first week they’ve done something horribly wrong. Jun 21 20:46:23 I wrote a snes emulator when I was in grade 9, but I was using computers forever, but I don't consider myself a genius, I just kept interested in the subject and educated myself Jun 21 20:46:28 but you're going to get up, and you're going to work hard at it! Jun 21 20:46:28 * jfpoole goes back to lurking Jun 21 20:46:31 thats all you need to do Jun 21 20:46:39 pagefault, you're that pagefault? Jun 21 20:46:43 yes Jun 21 20:46:48 Zsnes, right? Jun 21 20:46:51 yeah Jun 21 20:46:53 :) Jun 21 20:46:58 can i have your autograph Jun 21 20:47:03 How'd you write a sense emulator? Jun 21 20:47:09 jfpoole, ^^ Jun 21 20:47:19 lo Jun 21 20:47:20 l Jun 21 20:47:21 jennifer, SNES = Super Nintendo Jun 21 20:47:22 zsnes is old now Jun 21 20:47:24 I know. Jun 21 20:47:28 but i'm rewriting it Jun 21 20:47:29 I grew up in the 90s. Jun 21 20:47:33 in not assembly language this time Jun 21 20:47:34 Mavrik: ? Jun 21 20:47:38 ah, a typo then Jun 21 20:47:47 pagefault, zsnes ate up so much of my childhood Jun 21 20:48:02 I am using dropbox token in my code as a string, what are the chances someone who downloads my app opens the apk reads the token and sends/retrieves data from my dropbox? Jun 21 20:48:05 wrote it with 3 other guys, we just wanted to play games on our shitty computes Jun 21 20:48:09 all the other emulators were slow Jun 21 20:48:14 and is there a way to somehow hide it or save it somwhere Jun 21 20:48:16 SNES? What's that for a capitalist plaything?! :P Jun 21 20:48:16 so we learned assembly language Jun 21 20:48:23 you did real good work Jun 21 20:48:29 Amazing. Jun 21 20:49:04 i contribute some android UI to the Dolphin project Jun 21 20:49:23 i have intense respect for emulator devs Jun 21 20:49:33 cool, yeah I just started with android about a year ago Jun 21 20:49:43 absof25, uhh, that's fairly easy and you really have no good way of handling that... rather make sure that you make a separate dropbox account where person doing that won't be able to do any damage Jun 21 20:49:51 e.g. limit token to read-only and whatnot Jun 21 20:50:27 ok Jun 21 20:50:46 what about having write only token in other aplication, can I do that? Jun 21 20:50:54 pagefault, yeah, you guys do good work. I'd love another "state of crapiness of OGL" post though *hint hint* ;) Jun 21 20:51:08 i'm using egl these days Jun 21 20:51:09 it's ok Jun 21 20:51:12 Bbl need to concentrate. Jun 21 20:51:14 I think it's better than it used to be Jun 21 20:51:20 Thanks a lot for your thoughts sigmabeta. Jun 21 20:51:22 I appreciate it. Jun 21 20:51:37 android drivers vary so much though Jun 21 20:51:40 it's like pc all over again Jun 21 20:52:02 Yeah, it's nasty. Especially since in my experience the drivers are quite a bit worse than the PC counterparts. Jun 21 20:52:18 It's like back to the age of Voodoo 3 again where OpenGL support was a crapshoot :/ Jun 21 20:52:38 there is no "app" that needs mobile 3d to be good yet Jun 21 20:53:56 need someone to make something that shows that it's not acceptable to have drivers like this Jun 21 20:54:02 and make the public angry about it so they fix ithem Jun 21 20:54:17 yeah the horrific driver situation really hurts dolphin Jun 21 20:55:23 Eh, I've given up on general public. Jun 21 20:56:10 People just got used to their mobile software to be broken and rather carry on defending their toy maker when they mess up Jun 21 20:56:10 General public isn’t sophisticated enough to understand the differences between bad apps, bad drivers, bad OSes, and bad hardware. Jun 21 20:57:07 thats why you need to make a cool app they can't run Jun 21 20:57:25 then explain to them they can't run it because of bad vendors Jun 21 20:58:17 but it's difficult Jun 21 20:58:25 Does anyone have any experience working with naked-eye tablets? Jun 21 20:58:37 pagefault: It’s not difficult, it’s almsot impossible. Jun 21 20:58:54 I'm trying to get 3d video to work from a split-screen mp4 video. Jun 21 20:59:10 “Why can’t my phone run X? Oh, I guess the developers were lazy." Jun 21 20:59:39 yeah Jun 21 20:59:42 One star, doesn't work on my AllWinner phone with 384MB of RAM that reports 3GB of it :P Jun 21 20:59:56 lol Jun 21 21:00:08 It's our fault really, we taught users that they can be idiots and get away with it. Jun 21 21:00:27 Mavrik: Which, arguably, is as it should be. Jun 21 21:00:39 I'm not so sure anymore. Jun 21 21:00:41 Users shouldn’t have to care about specs and whatnot. Jun 21 21:00:41 i don't think we taught users anyway Jun 21 21:00:49 Especially as I look at the app stores. Jun 21 21:00:49 i think users just are that way and there's not a lot we can do about it Jun 21 21:01:05 Users should just care about getting their work done or playing their game or whatever it is that they actually want to do with their phone. Jun 21 21:01:16 i think we tag it as Wontfix and work around it :D Jun 21 21:01:23 sigmabeta, I disagree. Jun 21 21:01:41 We taught the general population that driving requires some skills and that you're a moron if you put diesel in a gasoline car. Jun 21 21:01:54 And that ignorance in that regard is shameful. Jun 21 21:02:03 driving absolutely does not require skills, when's the last driver's test you took? Jun 21 21:02:16 you can fall asleep and still pass them nowadays Jun 21 21:02:19 I think we should reconsider what minimum required level of knowledge is to operate a portable computer. Jun 21 21:02:21 and most driving is basically just "Don't fall asleep" Jun 21 21:02:38 sigmabeta, *shrug* we have funny driving tests I guess :P Jun 21 21:02:43 But that was not my point really :) Jun 21 21:02:52 Mavrik: Let’s do that for everything! Jun 21 21:02:53 i mean, i agree, i'm disgusted by incompetence too Jun 21 21:03:04 i just don't think my android app is going to be the antidote Jun 21 21:03:13 When a stupid car owner puts sugar in the oil tank, we don't sue Volkswagen for not designing the car in a way for them to not be able to do that. Jun 21 21:03:59 There was whole decades of time when it was OK do demand that users know how much RAM they have in the machine and which CPU Jun 21 21:04:08 So they could buy proper software for their PCs. Jun 21 21:04:25 but in that time, those metrics were much more useful metrics Jun 21 21:04:38 I'm not saying that we should go back to DOS era, but goddamn we really don't need an Apple babysitter telling everyone what they may see and use. Jun 21 21:04:43 you could require 16MB of ram to run your app because if the user was running your app, that's basically all they were doing Jun 21 21:05:09 now, not only is that not the case, but marketing has come up wtih a billion ways to obfuscate system stats for profits++ Jun 21 21:05:26 Yes, and Android really suffers for that Jun 21 21:05:37 There's no good way of making a high-end game Jun 21 21:05:38 so unless you would like people to have to take a university course in order to cut through all the falsified numbers in order to understand whether they can use your app or not... Jun 21 21:05:43 For most mobile devices system stats are borderline useless. Jun 21 21:05:48 Take core counts in CPUs. Jun 21 21:05:50 Because there's no way of telling people "look, this is what kind of device you need to run this" Jun 21 21:05:54 “This device has 8 cores!" Jun 21 21:05:59 Nevermind the cores are slower than shit. Jun 21 21:06:24 So the pretty awesome K1 in Nexus 9 is useless, because there's no way to target it Jun 21 21:06:43 Unless you wanna deal with the 15$ 256MB RAM crap Jun 21 21:07:12 And there's also nothing you can do to tell users either - there's no good metric on which they could tell what kind of phone do they own performance wise Jun 21 21:07:28 Mavrik: Require a certain Geekbench score? ;-) Jun 21 21:08:08 in AndroidManifest.xml plz Jun 21 21:08:20 Maybe even make it built-in like Windows 7 had Jun 21 21:08:52 At this point there's not even a way to tell Play Store that your app can't operate with less than 128MB of heap or somethin Jun 21 21:09:19 yeah wish play store could filter by chipset model Jun 21 21:09:43 no mediateks Jun 21 21:09:53 yeah Jun 21 21:09:56 pagefault that would be admission by google that fragmentation existed Jun 21 21:10:08 and we all remember, dan said fragmentation doesn't exist Jun 21 21:10:16 or at least "requires NEON" Jun 21 21:10:25 dunno dafuq we can't filter via neon Jun 21 21:10:42 Mavrik: Require Android 4.0 and you remove most devices that don’t support NEON. Jun 21 21:10:51 Save for a handful of Tegra 2 devices. :-) Jun 21 21:10:53 jfpoole, "most" Jun 21 21:10:54 *most* Jun 21 21:10:59 we just got someone bitching few days ago Jun 21 21:11:06 that it doesn't work on their something something crappad Jun 21 21:11:16 if your phone/tablet cost less than $100 the app probably won't work for you Jun 21 21:11:18 which was Tegra 2 Jun 21 21:11:19 Refund the purchase? Jun 21 21:11:29 Done. Jun 21 21:12:01 That's not a solution. Jun 21 21:12:09 Why not? Jun 21 21:12:14 Users can request refunds Jun 21 21:12:18 still don't even know how those $80 tablets with 512mb ram can even work Jun 21 21:12:31 jfpoole, among other things, we're not in end-user apps business. Jun 21 21:12:44 Ah. Jun 21 21:12:49 it's also a bad experience all around Jun 21 21:12:59 Mavrik: Creating developer libraries? Jun 21 21:12:59 while we're at it - is there still no global Android device database with hardware specs? Jun 21 21:13:14 gsmarena? Jun 21 21:13:20 sort of Jun 21 21:13:32 That would include stuff like SoC model, arch, memory, build_id, OGL version, OGL extensions, OGL vendor, etc.? Jun 21 21:13:43 gsmarena and phonearena have solid databases. Jun 21 21:13:50 pagefault, not useful if you're trying to find out which devices support 720p recording on back phone Jun 21 21:13:55 most of them have marketing stuff Jun 21 21:14:04 ideally you'd have a page that would throw out a play store filter list Jun 21 21:14:14 * Mavrik writes under project ideas. Jun 21 21:14:56 * jfpoole thinks. Jun 21 21:14:56 didnt google anounce such a page at io2015? Jun 21 21:15:03 I wonder if we could pull that information out of Geekbench? Jun 21 21:15:06 at least for screen sizes Jun 21 21:15:14 Yeah, screen sizes only. Jun 21 21:15:21 missed opportunity Jun 21 21:15:36 danijoo: Isn’t that true of much of Play? Jun 21 21:15:42 :> Jun 21 21:16:00 would be nice if they would filter their own platform (i'm talking about android wear, some ppl don't even look screenshot or read description, and when an app is dedicated to wear, sometimes you end up wiht 1star + uninstall.. like it's our fault lol) Jun 21 21:16:27 because the lambda user search the app on their phone (and they don't even have a wear device.. lol) Jun 21 21:17:06 well they also let users rate apps on Android M preview Jun 21 21:17:19 Play team just does utter stupidities lately Jun 21 21:17:42 They're more busy with taking down legitimate apps than fixing Play Store services... arguably the most shitty part of Android stack Jun 21 21:17:57 * Mavrik is still annoyed that he's not allowed to sell apps Jun 21 21:17:58 lol Jun 21 21:18:02 been there Jun 21 21:19:10 google play with yourself Jun 21 21:19:36 I still can't believe I had to multidex after adding play services to my app Jun 21 21:19:39 what a bunch of bloat Jun 21 21:19:50 proguard Jun 21 21:20:24 at least there are now specific play service packages :) Jun 21 21:20:45 yeah Jun 21 21:21:08 and multidexing isnt really hard. 2 lines of changes in the project usually Jun 21 21:21:11 Mavrik can't sell apps ? Jun 21 21:21:24 yeah I didn't mean it was hard Jun 21 21:21:29 it was just surprising Jun 21 21:21:45 dex limit is just stupid Jun 21 21:22:13 "hey lets limit methods to 65k. nobody will need more anyways!" Jun 21 21:22:24 g00s, yep, not allowed to create a merchant account Jun 21 21:22:42 I can shove ads down customer throats though. Jun 21 21:22:42 danijoo lol, who would need 65k methods on a camera after all :P Jun 21 21:23:03 wasn't android originally envisioned for a camera ? Jun 21 21:23:11 yes i think it was Jun 21 21:24:06 then it looked like blackberry clone Jun 21 21:24:20 then , ios came out with touchscreen and it all went to shit .. Jun 21 21:24:53 The early intentions of the company were to develop an advanced operating system for digital cameras. Though, when it was realized that the market for the devices was not large enough, the company diverted its efforts toward producing a smartphone operating system that would rival Symbian and Microsoft Windows Mobile. Jun 21 21:26:06 google bought android for $50.000. wow Jun 21 21:26:26 50.000.000 ^^ Jun 21 21:26:32 missed some 0s :D Jun 21 21:27:01 danijoo if they also had a social messaging app they could have sold it for a few billion Jun 21 21:27:16 omg retarded Amazon, they just sent me a Kindle cover without the kindle Jun 21 21:27:18 mark suckerberg Jun 21 21:27:24 so heads up OS inventors, make sure your newfangled OS has social cat picture sharing app Jun 21 21:27:52 ^^ Jun 21 21:28:10 Didn't we decide that programming OSes or anything else than social picture apps is uncool? :) Jun 21 21:28:32 i wonder now much google spent on Nik Jun 21 21:28:35 it's important that people know what you are eating right now Jun 21 21:29:23 i'm eating blueberries atm Jun 21 21:29:40 #blueberry! Jun 21 21:29:41 they fight off brain atrophy caused by poorly designed APIs Jun 21 21:29:46 Can we get a blueberry selfie? Jun 21 21:29:52 lol Jun 21 21:45:27 g00s: what's Nik? Snapseed? Jun 21 22:06:15 Kill Gradle plugin proves to be useful :d Jun 21 22:50:59 danijoo, multidex is rather pleasant Jun 21 22:51:23 I've started making use of it, pretty good on v21+ for fast dev turnaround Jun 21 22:51:51 danijoo, just create a build flavor for development that uses multidex Jun 21 22:52:13 leave the release flavor using proguard or whatever method you want Jun 21 23:29:19 yo TacticalJoke Jun 21 23:43:47 drose379: It's easier to just send the message. Then if someone is AFK they can respond when they're back. Jun 21 23:44:28 haha, alright Jun 21 23:44:48 Well I implemented what we talked about earler, was gonna link you a screenshot Jun 21 23:44:53 If your available to check it out Jun 21 23:47:22 TacticalJoke Ill be back later Jun 21 23:55:24 can one use vim easily to write android apps? Jun 21 23:55:40 or should one always go with an android ide? Jun 21 23:56:18 as makes it easier Jun 21 23:56:24 but you don't need to use it Jun 22 00:00:40 can use vim easily Jun 22 00:00:53 just know your apis and syntax well Jun 22 00:05:39 you can write it in notepad Jun 22 00:06:29 good luck getting anything done though Jun 22 00:06:37 but you'll look super cool Jun 22 00:06:53 notepad is not cool Jun 22 00:06:59 nah I meant vim Jun 22 00:07:11 easy to get things done Jun 22 00:07:15 don't need an ide Jun 22 00:07:18 really Jun 22 00:07:28 how do you import easily? Jun 22 00:07:52 by typing import Jun 22 00:08:00 and how do you manage imports? Jun 22 00:08:12 by deleting and adding them as necessary Jun 22 00:08:14 duh Jun 22 00:08:15 can vim know when the classes of an import statement are not used in the code? Jun 22 00:08:24 it doesn't matter Jun 22 00:08:43 what do you use? Jun 22 00:08:49 extraneous imports only pollute namespace at compile time Jun 22 00:09:10 I use whatever gets the job done when I need it Jun 22 00:09:18 what's been getting the job done for you lately? Jun 22 00:09:26 vim and intellij Jun 22 00:09:37 that plugin? Jun 22 00:09:44 what plugin Jun 22 00:10:01 the one that allows you to "use vim" inside intellij Jun 22 00:10:11 ideavim Jun 22 00:10:24 no, I use ideavim of course, since any other keybindings are worthless Jun 22 00:10:40 nice Jun 22 00:10:49 can you write macros there? Jun 22 00:11:00 not sure what they are called, but its the things you write after you hit record Jun 22 00:12:13 yes Jun 22 00:12:59 I do still feel very bad when some editing needs to be done and i find myself hitting the arrows frantically to get to an exact place Jun 22 00:13:11 then you are using vim wrong Jun 22 00:13:16 i dont use it :P Jun 22 00:13:22 thats the point Jun 22 00:13:24 if you can use it, it's fast Jun 22 00:13:32 otherwise stick to something else Jun 22 00:13:32 i know, i have a friend Jun 22 00:13:46 evangelist Jun 22 00:13:56 needs a lot of customization though to get useful Jun 22 00:14:00 but it can get there Jun 22 00:14:04 thing is, when you start learning it, you are impatient to start using it Jun 22 00:14:11 otherwise you deem it a waste of time cause you're stupid Jun 22 00:14:18 yeah Jun 22 00:14:29 it needs literally months Jun 22 00:14:29 I use it occasionally for fast edits on stuff Jun 22 00:14:33 but I can't use it for large projects Jun 22 00:14:45 i even have a booklet I wrote summarizing a medium size vim course Jun 22 00:14:56 yet cant write two words to save my life Jun 22 00:15:00 i would quit irc with vim if it was possible :D Jun 22 00:15:02 :q! Jun 22 00:15:09 there is an irc plugin for vim Jun 22 00:15:18 yeah, joking ;) Jun 22 00:15:22 which client? Jun 22 00:15:32 irssi of course Jun 22 00:15:33 haha Jun 22 00:16:00 ideavim sadly sucks. for example undo history is not correspond to actual commands e.g. press i, type something, ESC -> now this is recorded as several changes (how many depends on typing speed or something) but not one change with you can undo Jun 22 00:16:13 there is also an irc client in a code editor (i don't remember if it is visual studio or something else) which looks like you are working, syntax highlight & stuff, but it's an irc stream :) Jun 22 00:16:25 depends on typing speed?? Jun 22 00:16:30 that doesnt make sense man Jun 22 00:16:48 they obviously have a history buffer :P Jun 22 00:16:57 they fill it, you traverse back through it Jun 22 00:17:01 Odaym: or pauses you made between entering Jun 22 00:17:15 ah ok yes Jun 22 00:17:24 I heard someone adressing that issue, in a talk about stenography Jun 22 00:17:57 its also in Razer's Synapse software, the keyboard supports macros and you can configure the threshold of the pause Jun 22 00:18:10 to make it normalized the whole thing, regardless how much you waited Jun 22 00:18:41 As makes me mad sometimes with the default keymap shortcut :( like ctrl+w or ctrl+y to cite only a few Jun 22 00:18:46 AS* Jun 22 00:19:07 AS sometimes brings back dead tabs when you ctrl + tab Jun 22 00:19:08 lol Jun 22 00:19:28 I tried to do no tabs and rely on cmd + E Jun 22 00:19:34 Dead tabs? Or currently hidden tabs? Jun 22 00:19:37 difficult Jun 22 00:19:42 no, tabs that you've closed Jun 22 00:20:03 Oh, I've remapped Ctrl+Tab. Never mind. Jun 22 00:20:11 ah, ok, just tried it, this only happens when you have closed a tab and now you end up with only 1 tab and you ctrl + tab Jun 22 00:20:11 Mine is just "next tab". Jun 22 00:20:17 it brings back the last one that was closed Jun 22 00:20:20 Is there anyone here familiar wit gabrielemariotti's cardslib? I am getting a null pointer trying to get the cardview, and I can''t figure out why. Jun 22 00:20:27 *with Jun 22 00:20:42 the italian guy Jun 22 00:20:50 not familiar though, sorry Jun 22 00:24:07 have you ever done a navigation drawer in an app that never even asked for login? Jun 22 00:24:18 in an app that doesnt have user accounts, I mean Jun 22 00:24:34 they are not related directly, but Ive never seen one without the other Jun 22 00:24:51 ah, ok Pocket Casts has that Jun 22 00:27:14 Some reddit apps have it, too. Jun 22 00:27:26 Though reddit apps tend to have really bad UIs (IMO). Jun 22 00:27:33 also TuneIn, but its really ugly UI Jun 22 00:27:47 very ugly TuneIn UI, I just saw it Jun 22 00:28:09 it looks like an old bathroom Jun 22 00:28:26 how do these get featured and editor's choice Jun 22 00:29:43 no one has used cardslib? Jun 22 00:34:07 im sure they have but oyu cant just say im getting null Jun 22 00:34:11 show the code Jun 22 00:57:54 Odaym: the relevant lines of code are: https://gist.github.com/loudambiance/4aef1c19dd2518638c3d Jun 22 00:58:36 are you casting the right cardview Jun 22 00:59:19 what he said Jun 22 00:59:26 unless he's wrong Jun 22 00:59:50 if you read the exception, it has the answer Jun 22 01:00:24 logcat is usually pretty clear where you fucked up Jun 22 01:00:48 that thing is scandalous Jun 22 01:01:42 also that you put this lib in your gradle too Jun 22 01:01:47 that helps Jun 22 01:03:38 lib is in the gradle Jun 22 01:04:46 this is what logcat tells me: https://gist.github.com/loudambiance/0e58d5bb80db52729575 Jun 22 01:05:24 no man Jun 22 01:05:32 there's an exception that says EXCEPTION Jun 22 01:05:38 and has "Caused by" Jun 22 01:05:43 its long paragraph in red Jun 22 01:05:57 oh, there is? Jun 22 01:06:02 want a screen shot? Jun 22 01:06:04 ORLY?? Jun 22 01:06:06 no Jun 22 01:06:12 I dont care to make you believe in what is already a fact Jun 22 01:06:15 you fix it Jun 22 01:07:13 i have a hello world program thats base api is for ice cream sandwich Jun 22 01:07:30 now i want to run it on gingerbread os -.- Jun 22 01:07:40 what should i do in android studio Jun 22 01:07:42 Odaym: I am not trying to be combative, I was just saying, there is absolutely no exception in the logcat Jun 22 01:07:57 did the app crash? Jun 22 01:08:01 "Unexpected ....." Jun 22 01:08:02 no Jun 22 01:08:06 ah Jun 22 01:08:23 because of your conditions Jun 22 01:08:25 remove them Jun 22 01:08:28 because of the conditionals I have Jun 22 01:08:33 and let it crash, and then look at the exception please Jun 22 01:08:43 dont try to shut up the compiler man Jun 22 01:08:45 lol Jun 22 01:08:49 okay, I have to run a quick errand, but I will Jun 22 01:12:45 lol, the error you pasted is the error you wrote yourself in the conditional :P Jun 22 01:12:59 Im getting this error that I'm catching myself! what do I do! Jun 22 01:13:21 there's no bigger whack-a-mole than android devving Jun 22 01:13:34 there's no bigger whack-a-mole than human stupidity Jun 22 01:13:58 i am connoisseur in stupidity Jun 22 01:13:59 guys -.- Jun 22 01:14:01 embassador Jun 22 01:14:02 haha Jun 22 01:20:39 Odaym: I thought about it while I was in the car, I know the exception I am getting without the conditionals, it is saying the cardview variable is null. and I am trying to take some action on it. my issue is, why is it null Jun 22 01:20:53 the exception will tell you Jun 22 01:20:56 right now, you dont have an exception Jun 22 01:21:09 because an exception is caused when you are trying to operate on a null *thing* Jun 22 01:21:11 and you arent doing that Jun 22 01:21:33 so your own message that you wrote with your hands is what's coming up in the logcat, not an Android official exception from Google in California Jun 22 01:21:48 you can write that its not null, that's what will come out Jun 22 01:22:17 you need the exception that comes from the Android system itself, from Larry Page's office Jun 22 01:22:51 I have no idea what this is saying: https://gist.github.com/loudambiance/0e58d5bb80db52729575 Jun 22 01:22:57 yo guys Jun 22 01:23:03 im applying for a job right Jun 22 01:23:08 then i see this shit Jun 22 01:23:13 there is not one mention of the word "exception" in what you pasted Jun 22 01:23:16 We are required to compile the following information for statistical purposes in order to comply with certain federal regulations relating to Equal Employment Opportunity and Affirmative Action requirements.  Jun 22 01:23:20 that, is not an exception Jun 22 01:23:28 Odaym: thats all that I got in logcat Jun 22 01:23:29 basically Jun 22 01:23:33 did the app crash? Jun 22 01:23:34 they are asking my race and gender Jun 22 01:23:38 yes Jun 22 01:23:50 make it do that again, and change the settings of the Logcat to "error" only Jun 22 01:23:53 not "verbose" Jun 22 01:24:07 "Log level" Jun 22 01:24:43 I had filters turned on to my app only Jun 22 01:24:46 that was why Jun 22 01:24:57 the exception will come out from your app Jun 22 01:25:05 unless you dont know how to set a filter properly Jun 22 01:25:18 I am using the drop down filter in android studio Jun 22 01:25:32 that is always set to your app Jun 22 01:25:35 error did not show up first time Jun 22 01:25:44 it did but it got eaten Jun 22 01:25:47 that happens sometimes Jun 22 01:25:57 they scroll way too fast Jun 22 01:26:04 https://gist.github.com/loudambiance/0e58d5bb80db52729575 Jun 22 01:26:32 lol, it just says its null Jun 22 01:26:33 good luck! Jun 22 01:26:38 as I said before.... Jun 22 01:26:40 but now you know what an exception is!! Jun 22 01:26:43 how about that!! Jun 22 01:26:48 I knew what it was before Jun 22 01:26:51 no. Jun 22 01:27:07 you literally led me back to where I was an hour ago Jun 22 01:27:15 congratulations Jun 22 01:27:18 haha Jun 22 01:27:29 you were attempting to quiet the exception with a conditional Jun 22 01:27:30 are you insane Jun 22 01:27:46 thats not how you figure out why it's null Jun 22 01:28:00 I wanted to see if something else was working as wekk Jun 22 01:28:02 *well Jun 22 01:28:24 have you even setContentView Jun 22 01:28:39 * bhans grabs popcorn. Jun 22 01:28:42 cause with what you showed, it's literally impossible, since also its not a casting issue Jun 22 01:29:20 ahhh Jun 22 01:29:33 the issue is in the XML Jun 22 01:29:34 Odaym: yes, I have Jun 22 01:29:41 Oh? Jun 22 01:30:04 I dont think its being referenced correctly, the element you call CardView Jun 22 01:30:14 but that has an error of its own Jun 22 01:30:18 inflate error Jun 22 01:30:29 unless you've silenced that too Jun 22 01:30:34 nope Jun 22 01:30:57 this is a fragment you're loading your stuff into? Jun 22 01:31:05 yes Jun 22 01:31:08 hahha Jun 22 01:31:11 gotchaa Jun 22 01:31:23 you should figure this one out on your own Jun 22 01:32:03 read about fragments Jun 22 01:32:08 just the beginning paragraphs Jun 22 01:36:32 anything, danl ? Jun 22 01:39:02 ease up on the enter, would ya Jun 22 01:39:13 sorry Jun 22 01:42:55 I know this isnt android specific, but, I have a class that has a method to create a new category (sends request to API), and Im thinking about making that method static, cause I really dont see the use in having to instantiate a new instance of the class just to call a simple method like that Jun 22 01:43:27 It just makes more sense to me to have it static, can anyone affirm or deny this? Jun 22 01:47:59 http://programmers.stackexchange.com/questions/111938/which-is-a-better-practice-helper-methods-as-instance-or-static Jun 22 01:50:05 static decreases coupling but makes your code harder to test Jun 22 01:50:51 See I want to make this method static but then I have the tendency to go around to all my other helper classes and make their methods static Jun 22 01:51:20 I have a reason not to tho Jun 22 01:51:22 how easy it is to implement shouldnt be a measurement i think Jun 22 01:51:33 if youre insisting on weighing them Jun 22 01:51:54 Yeah, im not looking for easy Jun 22 01:52:33 Is there a set of questions I shud ask myself when deciding? Jun 22 01:53:06 sure Jun 22 01:53:09 The most important question is "Am I overthinking this?" Jun 22 01:53:14 "how much exactly do I know what I'm talking about.." Jun 22 01:53:18 or that Jun 22 01:53:30 Why wud I ask that? Jun 22 01:53:34 Make it static and if one day, it gets in the way of testing, change that Jun 22 01:53:40 cause you're a man of science!! Jun 22 01:53:40 OK, cool Jun 22 01:53:45 haha Jun 22 01:54:27 Thanks guys Jun 22 01:56:39 So I have another helper class that makes a HTTP request but its more complex, and it organizes data by calling methods within itself Jun 22 01:57:00 That is something im not gonna use static methods in, cause it needs to call methods within the class, and if the method is static it cant Jun 22 01:57:02 Some methods should be static. Not everything is tied to an instance of something. Jun 22 01:57:18 Right Jun 22 01:57:25 Like I have this.. Jun 22 01:57:45 how can be a request to API method static? doesn't it need some context or client? Jun 22 01:57:49 TacticalJoke http://pastie.org/private/qnvh12kw9owdezcbsjbew Jun 22 01:57:59 icedp it needs client Jun 22 01:58:10 I just do OKhttpClient httpClient = new OKHttpClient(); Jun 22 01:58:12 in the method Jun 22 01:58:32 it's not very efficient to create a client every time ) Jun 22 01:58:49 Yeah, I was thinking that too.. Jun 22 01:58:56 So is that a good reason to NOT make the method static? Jun 22 01:59:17 Unless I pass it an instance of the OKhttpClient Jun 22 01:59:53 You *should* create a new client for each request Jun 22 02:00:05 should? Jun 22 02:00:06 requests are async, you never really know when the previous one is done unless it has some queuing built in Jun 22 02:00:11 Yes, should. Jun 22 02:00:16 Interesting Jun 22 02:00:25 CedricBeust_ did you see my paste? Jun 22 02:00:43 A new OkHttpClient for each request?! Jun 22 02:01:05 Yes Jun 22 02:01:07 drose379: Looks fine to me although I'd use Rx instead of Callback, but if you're not already using Rx, Callback is fine Jun 22 02:01:20 Rx? Jun 22 02:01:44 Retrofit has 3 forms for methods: synchronous (which you should never use), async with Callback and async with Rx Jun 22 02:01:56 Whats Rx? Jun 22 02:02:04 Oh you're not using Retrofit, my bad Jun 22 02:02:06 RxJava Jun 22 02:02:13 Oh, this is Okhttp Jun 22 02:02:18 Anyways Jun 22 02:02:26 dragorn: http://beust.com/weblog/2015/03/23/android-rx-and-kotlin-a-case-study/ Jun 22 02:02:40 Ignore my observation about Rx, not applicable to you Jun 22 02:02:46 (but learn Rx one of these days) Jun 22 02:02:58 Got it, thanks man Jun 22 02:03:22 CedricBeust_: Why create a new OkHttpClient for each request? That seems wasteful. Jun 22 02:03:38 TacticalJoke: the alternative will crash Jun 22 02:04:04 How do you reuse them if you can't know the previous request has completed? Jun 22 02:05:00 But again, if you use Retrofit or another higher level library, you never really worry about that besides specifying which kind of HttpClient you want to use Jun 22 02:06:21 I don't understand what you're referring to. Creating a new OkHttpClient doesn't solve issues relating to requests being made when others aren't finished (and what does that have to do with crashing?). Jun 22 02:07:34 I was talking about HttpClients in general, not specifically OkHttpClient Jun 22 02:07:41 not sure if it's more amenable to being reused Jun 22 02:08:32 that's a very good introduction Jun 22 02:08:54 Ive never read an intro about it Jun 22 02:09:06 intro about...? Jun 22 02:09:09 Rx Jun 22 02:09:12 oh Jun 22 02:09:40 I see them but they start complex so I dismiss it, but this one is good cause the usecase is really good and typical Jun 22 02:09:51 Yeah that's the angle I wanted to use Jun 22 02:10:28 this makes the whole operation seem like one function Jun 22 02:10:36 Yup Jun 22 02:10:39 you can put the whole thing in setUpNameAdder() Jun 22 02:10:40 Odaym have I asked you about the new layout im trying out Jun 22 02:10:50 thats great Jun 22 02:11:01 shame not to use Jun 22 02:11:34 ask in PM better Jun 22 02:13:38 OkHttpClient is designed to be reused. Jun 22 02:13:48 From what I've read (source/documentation). Jun 22 02:13:58 yeah, me too Jun 22 02:14:15 there is thread pool and stuff Jun 22 02:14:43 looks like one client is ok unless you need different configs **** ENDING LOGGING AT Mon Jun 22 02:59:59 2015