hackthenorth / hackthenorth-android Goto Github PK
View Code? Open in Web Editor NEWHack the North Android App (2014 Version)
Hack the North Android App (2014 Version)
Here are a couple screenshots of the app so far. Those list items are loaded from a hardcoded JSON string in the app and decoded; in the future the data will be loaded from Firebase.
The list also takes a string identifier. We can use this to specify different data sources.
There's only one item in the navigation drawer right now, but it can be extended to load different pages.
I have yet to determine what the JSON data model should look like for updates. It currently has a title and a body, as you can see in the list. We might want a "from" field, in case we want to specify who the update is from --- the HTN team, a sponsor, the judges, etc. I think we will get timestamps by default from Firebase.
{"mentors":{"abc":{"availability":[["2014-09-21T18:30:11-05:00","2014-09-21T18:40:11-05:00"],["2014-09-22T18:30:11-05:00","2014-09-22T19:40:11-05:00"],["2014-09-21T16:30:11-05:00","2014-09-21T19:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"]],"image":"http://images5.fanpop.com/image/photos/28500000/Mr-Bean-s-holiday-mr-bean-28500182-1366-738.jpg","name":"Mr. Bean","organization":"Microsoft","skills":["Python","Java","C#"]},"def":{"availability":[["2014-09-22T18:30:11-05:00","2014-09-22T18:40:11-05:00"]],"name":"Barack Obama","organization":"United States of America","skills":["C+","Javo","Objective-D"]}},"notifications":{"android":{"APA91bE_daj1WFnsYzz0O5kekLttERTFyyx7vRH1Liov6_93ZgYDX02nrDKt1BplEq2kh7FksTCD6fMU6hf1yzyfOAUAf10j7mQUiSTT-94lZqge6ZPIvmvgbW4W6KrrCmLZJ-GVcll6_y2tgClps3iacuAKGqFnxEhyptiaOnT3wl9xfgJUYHk":"dummy","APA91bEuI3nnXHvKi3p3w89nMQC2j9UEE-7IkGJlmdiXzz5Yfqao_qOQhOqC06p7s3DNRlhsQqwGWv1QDCNZ78nbMN00WOp3uCWiALmuvJutPgUZ98QSAWczLwotrZFtkwVvkfJ24eE3SlnF9AgBIq4pnhSYyN7rvCBZtCfCqm782BuHk5xLCcM":"dummy","APA91bHk8cEYR3re0iuoZCittxLD5PxV_DCNOTvbJMMvUF0-bNfLYP15aZKCGf5KrkVEXHlWrRYDbXTK8jClsfNXd0oNzvOWoT0688_Ko7DdG2rqS0yYvAKq_gNszr-7t1NcNxlt80p8do__eccwCVgz6oqK7kNrCxaEcjlkASlPFmAyWZmFv1c":"dummy"},"ios":{"B82953CAF143A4173209FA729D828648626235D82C53E9846323F113BEA257BB":"dummy"}},"prizes":{"aaa":{"company":"Bloomberg","contact":"placeholderckthenorth.com","description":"success The block to be executed on the completion of a successful request. This block has no return value and takes two arguments: the receiver operation and the object constructed from the response data of the request.","name":"Artistic App","prize":["Kobo","Leap Motion"]},"aab":{"company":"Wit.AI","contact":"","description":"success The block to be executed on the completion of a successful request. This block has no return value and takes two arguments: the receiver operation and the object constructed from the response data of the request.","name":"Best App of the Event","prize":["Moto 360","Leap Motion","XBox One","Samsung Galaxy S5"]},"aac":{"company":"proton","contact":"[email protected]","name":"ProtoPrize","prize":["kiwi fruit"]},"aad":{"company":"Wit.AI","contact":"[email protected]","description":"success The block to be executed on the completion of a successful request. This block has no return value and takes two arguments: the receiver operation and the object constructed from the response data of the request.","name":"Most Fun App","prize":["ARDrone","Google Glass"]},"aae":{"company":"Facebook","description":"Hello there","name":"Best Social App","prize":["T-shirt"]},"aag":{"company":"NBA","name":"Best NBA Hack","prize":["kobe shirt"]}},"schedule":{"aaa":{"description":"Do not transmit nudity, sexually harass anyone, publicize other peoples' private information, make statements that defame or libel anyone, violate intellectual property rights, or behave in any other inappropriate or illegal way on Omegle. Understand that human behavior is fundamentally uncontrollable, that the people you encounter on Omegle may not behave appropriately, and that they are solely responsible for their own behavior. Use Omegle at your own peril. Disconnect if anyone makes you feel uncomfortable. You may be denied access to Omegle for inappropriate behavior, or for any other reason. ","end_time":"2014-09-21T19:30:11-05:00","location":"E5 2001","name":"Learn from Hackers in Startups","speaker":"Velocity Manager","start_time":"2014-09-20T18:30:11-05:00","type":"event"},"aab":{"description":"Learn Android and Do Great Hacks!","end_time":"2014-09-19T23:30:11-05:00","location":"Gear Lab","name":"Introduction to Android","speaker":"Sergey Brin","start_time":"2014-09-19T22:30:11-05:00","type":"workshop"}},"team":{"aaa":{"email":"[email protected]","name":"John Appleseed","phone":416498291,"role":["transportation","organizer"],"twitter":"@johnHackApps"},"aab":{"email":"[email protected]","image":"http://images5.fanpop.com/image/photos/28500000/Mr-Bean-s-holiday-mr-bean-28500182-1366-738.jpg","name":"Hack The North","phone":0,"role":["organizer"],"twitter":"@HackTheNorth"},"aac":{"email":"[email protected]","name":"Tim Cook","phone":911,"role":["jazz player","a very very very very dry veryveryv long rooleslsefsef to o test in the uisfe interfacefes","another eo vvervy verve ronlong long role to totest it"],"twitter":"@iCook"},"aad":{"email":"[email protected]","name":"Amy Wong","phone":456789}},"test":"DO NOT DELETE! This is a test value, that we can use to check if we have a valid Firebase secret.","updates":{"-JTnNtKLbDzG1SbeYiHh":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"This is a test. Can our update script use the Firebase API to push updates?","name":"Shane","time":"2014-08-07T22:12:25-04:00"},"-JTnPC1TBjRtPWa4lMJ0":{"avatar":"https://scontent-b-ord.xx.fbcdn.net/hphotos-xaf1/t31.0-8/s960x960/1052312_10151788815623436_2099200343_o.jpg","description":"Food will be ready in a few minutes. It's time to take a break.","name":"Si Te Feng","time":"2014-08-07T22:18:13-04:00"},"-JTnPKWqtoMyGWdLmH3J":{"avatar":"https://scontent-b-ord.xx.fbcdn.net/hphotos-xaf1/t31.0-8/s960x960/1052312_10151788815623436_2099200343_o.jpg","description":"Wifi is currently being interrupted by malicious attacks. Our secret agents are working to resolve the issue.","name":"Kartik Talwar","time":"2014-08-07T22:18:47-04:00"},"-JTnVIrjF1dTZ7kg2w-A":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"This is another test. Can we do time correctly now?","name":"Shane Creighton-Young","time":"2014-08-07T22:44:54-04:00"},"-JTnVwRW8MVJW4RPquIl":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"Final test. Can. We. Do. This?","name":"Shane Creighton-Young","time":"2014-08-07T22:47:41-04:00"},"-JTrtT0EDVyLFhxloCYz":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"I'm testing authentication! Weooo!","name":"Shane","time":"2014-08-08T19:13:19-04:00"},"-JTtN3Z9L27NL2XeNCEf":{"avatar":"","description":"This is a real update. For real.","name":"Shane Creighton-Young","time":"2014-08-09T02:06:38-04:00"},"-JTvXwYE-GyymoeF_Pr8":{"avatar":"","description":"I whip my haaaaair back and forth I whip my haaaaair back and forth","name":"Shane Creighton-Young","time":"2014-08-09T12:13:08-04:00"},"-JTw_mEVNnOLiMFB7d67":{"avatar":"","description":"Notification?","name":"Shane Creighton-Young","time":"2014-08-09T17:05:23-04:00"},"-JTwcsX_mIrNP8OkEk-c":{"avatar":"","description":"Notifications!","name":"Kartik Talwar","time":"2014-08-09T17:18:55-04:00"},"-JTwdQDS5UibAAyYlKJX":{"avatar":"","description":"This is a test. Will this show up in the notification body?","name":"Shane Creighton-Young","time":"2014-08-09T17:21:17-04:00"},"-JTwf39ix8SIq-3baqNR":{"avatar":"","description":"What's uppppppppp","name":"Si Te Feng","time":"2014-08-09T17:28:28-04:00"},"-JTwg4obWzMsBjl1Nfs8":{"avatar":"","description":"Wake up, Shane!","name":"Shane Creighton-Young","time":"2014-08-09T17:32:57-04:00"},"-JTwgJru_iBhDcLraEXO":{"avatar":"","description":"Yo this app is sweet yo","name":"Moez Bhatti","time":"2014-08-09T17:33:57-04:00"},"-JTxWmTZDVQqIOETQcY-":{"avatar":"","description":"Batch notifications testing!","name":"Shane Creighton-Young","time":"2014-08-09T21:27:34-04:00"},"-JTxX3LLP5GuwxUE465k":{"avatar":"","description":"More batch notifications testing","name":"Shane Creighton-Young","time":"2014-08-09T21:28:47-04:00"},"-JTxjTa68CHjiXGk47M5":{"avatar":"","description":"Even more batch notifications testing","name":"Shane Creighton-Young","time":"2014-08-09T22:27:22-04:00"},"-JTxjhW3RDfQuep_nG7-":{"avatar":"","description":"Test","name":"Shane Creighton-Young","time":"2014-08-09T22:28:23-04:00"},"-JTxk3GfaZdwBRWQic8D":{"avatar":"","description":"Test","name":"Shane","time":"2014-08-09T22:29:56-04:00"},"-JTxl2-XlRnoBLDXGQEP":{"avatar":"","description":"Test?","name":"What?","time":"2014-08-09T22:34:12-04:00"},"-JTxla-hDJpynMzHcSVL":{"avatar":"","description":"huh","name":"what","time":"2014-08-09T22:36:34-04:00"},"-JU2-IXtFlBDAkpv8Uci":{"avatar":"","description":"This is the first update from our EC2 MicroInstance! Yay!","name":"Shane Creighton-Young","time":"2014-08-11T02:59:00-04:00"},"-JU2-a27XiTayowsCErQ":{"avatar":"","description":"Aaaand after fixing a bug, this should be the first update that actually gives notifications.","name":"Shane Creighton-Young","time":"2014-08-11T03:00:17-04:00"},"-JU21G6xRtHaEeLBSwS3":{"avatar":"","description":"Testing, resting","name":"Si Te Feng","time":"2014-08-11T03:07:35-04:00"},"-JU21emGfeXm2geyPaXb":{"avatar":"","description":"Another test update!","name":"Moez Bhatti","time":"2014-08-11T03:09:21-04:00"},"-JU25fVm_s8BvVf0aAUT":{"avatar":"","description":"Testing local timezone stuff","name":"Shane Creighton-Young","time":"2014-08-11T03:26:45+00:00"},"-JU286XLIX4FnJhlAbj_":{"avatar":"","description":"testing","name":"Testing","time":"2014-08-11T03:37:26+00:00"},"-JU5LKay5sC9JtHXpjfg":{"avatar":"","description":"testing testing","name":"Moez Bhatti","time":"2014-08-11T18:34:03+00:00"},"-JU5LsPwSHoG8tC5dhdT":{"avatar":"","description":"Neat, eh?","name":"Shane Creighton-Young","time":"2014-08-11T18:35:42+00:00"},"-JU79_fgURLlUiQ6_Md_":{"avatar":"","description":"Hey guys! Pizza is ready. We ordered 3 whole large pizzas, so that should probably feed about 9 of you. First come first serve in RCH 2107","name":"Moez Bhatti","time":"2014-08-12T03:02:01+00:00"},"-JU7IuCfjvFNkB_RWw9M":{"avatar":"","description":"Testing that notifications are cleared properly...","name":"Shane Creighton-Young","time":"2014-08-12T03:42:36+00:00"},"-JU7Wv941pSE_lHHYqr4":{"avatar":"","description":"New notification icon test","name":"Moez Bhatti","time":"2014-08-12T04:43:59+00:00"},"-JU7nxgvdFSiPKxHDWMb":{"avatar":"","description":"Testing","name":"Shane Creighton-Young","time":"2014-08-12T06:02:49+00:00"},"-JU7qs4VurcGEZLElYRJ":{"avatar":"","description":"Testing, testing....","name":"Moez Bhatti","time":"2014-08-12T06:15:31+00:00"},"-JU7rD13SvflJ1qaJDjb":{"avatar":"","description":"Testing, testing","name":"Kartik Talwar","time":"2014-08-12T06:17:01+00:00"},"-JU7rJ6dOuMqCv40MiX6":{"avatar":"","description":"Wow this is sweet!","name":"Heming Zhang","time":"2014-08-12T06:17:27+00:00"},"-JU7sxEguWNtE4b_4L79":{"avatar":"","description":"Holy realtime, Batman!","name":"Si Te Feng","time":"2014-08-12T06:24:35+00:00"},"-JU7tmeGX5RFmi8KOI3C":{"avatar":"","description":"Holy cow, batman!","name":"George Wen","time":"2014-08-12T06:27:50+00:00"},"-JU7tsrbY1dOoVijGYHb":{"avatar":"","description":"Background notifications.","name":"Background notificaions?","time":"2014-08-12T06:28:41+00:00"},"-JUBEuLk4DoVKWs8Mqeo":{"avatar":"http://www.metrodogstop.com/cms/wp-content/uploads/2013/05/cute-dog.jpg","description":"What's upppp","name":"Shane","time":"2014-08-12T22:03:38+00:00"},"-JUBGLkwcBZ8vcTjkn3y":{"avatar":"http://www.metrodogstop.com/cms/wp-content/uploads/2013/05/cute-dog.jpg","description":"Sup","name":"Shane Creighton-Young","time":"2014-08-12T22:10:02+00:00"},"-JUBGR4xERMeoMgmFYKD":{"avatar":"https://www.google.ca/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=el2_nPD26PbcwM&tbnid=Hpzw4pK3-ouHQM:&ved=0CAUQjRw&url=http%3A%2F%2Fwww.fanpop.com%2Fclubs%2Fteddybear64%2Fimages%2F16834863%2Ftitle%2Fdog-cat-wallpaper-wallpaper&ei=y5DqU6j_OYaWyATsiYKgDQ&bvm=bv.72938740,d.aWw&psig=AFQjCNEXM-qSOOBOh973JMaqAw32UVPZ7A&ust=1407966739047814","description":"Suppppppp","name":"Shane Creighton-Young","time":"2014-08-12T22:10:25+00:00"},"-JUBGfNYkdOfTHp5YA0A":{"avatar":"http://images4.fanpop.com/image/photos/16800000/Dog-and-Cat-Wallpaper-teddybear64-16834863-1280-800.jpg","description":"I liek catz","name":"Moez Bhatti","time":"2014-08-12T22:11:27+00:00"},"-JUBH2E4_tdyn3hQoy2v":{"avatar":"http://www.richardaustinimages.com/wp-content/uploads/2011/09/piglets_34.jpg","description":"Pigs tho","name":"Kartik Talwar","time":"2014-08-12T22:13:06+00:00"},"-JUBHHHSrfllQJr8pwKi":{"avatar":"http://www.richardaustinimages.com/wp-content/uploads/2011/09/piglets_34.jpg","description":"uhhhhhh ok you're right","name":"Shane Creighton-Young","time":"2014-08-12T22:14:06+00:00"},"-JUBIV5MR-ZEDDW8oaDT":{"avatar":"http://www.richardaustinimages.com/wp-content/uploads/2011/09/piglets_34.jpg","description":"Suppp","name":"Shane Creighton-Young","time":"2014-08-12T22:19:21+00:00"},"-JULTp_I-iXg8f-hxDxU":{"avatar":"","description":"Test","name":"Test","time":"2014-08-14T21:45:09+00:00"},"-JULTtu3zd0bRqO4siHB":{"avatar":"","description":"Test","name":"Test","time":"2014-08-14T21:45:27+00:00"},"-JUMqXF_nRZxj_7McLku":{"avatar":"","description":"Hi, Si Te!","name":"Shane","time":"2014-08-15T00:08:20-04:00"},"-JUMqdyRYx3sdPnWJxhV":{"avatar":"","description":"Hi, Si Te!","name":"Shane","time":"2014-08-15T00:08:48-04:00"},"-JUMtvDpDl0yR11mO04T":{"avatar":"","description":"What's up, Si Te?","name":"Shane","time":"2014-08-15T00:23:10-04:00"},"-JUMuEgKDTUHysSyEgCj":{"avatar":"","description":"How's this format?","name":"Shane","time":"2014-08-15T00:24:34-04:00"},"-JUMvqCwCLNsxxraL3fg":{"avatar":"","description":"Come get pizza before it's gone!","name":"Shane Creighton-Young","time":"2014-08-15T00:31:33-04:00"},"-JUMw3FLCXmLG2aVE2qa":{"avatar":"","description":"Yo! I'm mentoring for apps here! Come find me!","name":"Moez Bhatti","time":"2014-08-15T00:32:31-04:00"},"-JUaNHCnx9rwejyR4CHW":{"avatar":"","description":"testing notification noises","name":"Shane Creighton-Young","time":"2014-08-17T23:50:24+00:00"},"-JUaNK96V4p7VAZ3lEJB":{"avatar":"","description":"what","name":"huh","time":"2014-08-17T23:50:38+00:00"},"-JUaNbhF7fgZFZxSm4up":{"avatar":"","description":"n","name":"n","time":"2014-08-17T23:51:54+00:00"},"-JUaVPk1WETO7WNiUAyJ":{"avatar":"","description":"What's uppp","name":"Shane","time":"2014-08-18T00:25:57+00:00"},"-JUaVSbALq-v4sDCw2Cz":{"avatar":"","description":"what's up","name":"hey","time":"2014-08-18T00:26:09+00:00"},"-JUaVxfT7wCkscvKlQvs":{"avatar":"","description":"sup","name":"hey","time":"2014-08-18T00:28:21+00:00"},"-JUap_CyUUoD8tkPTGlj":{"avatar":"","description":"hey","name":"sup","time":"2014-08-18T01:58:26+00:00"},"-JUapdPCHjp7jYqwE6F4":{"avatar":"","description":"test","name":"test","time":"2014-08-18T01:58:43+00:00"},"-JUapiupQXwB69kHOMOb":{"avatar":"","description":"hey","name":"sup","time":"2014-08-18T01:59:05+00:00"},"-JUaxjWRWGqN7rk2cX1Q":{"avatar":"","description":"What's up?","name":"Food time!","time":"2014-08-17T22:34:06-04:00"},"-JUay2nEH8HfWziTsNKK":{"avatar":"","description":"supsupsupsupsup","name":"Moez Bhatti","time":"2014-08-17T22:35:29-04:00"},"-JUaz3wzM4gLRjvCdCve":{"avatar":"","description":"test","name":"Test","time":"2014-08-17T22:39:56-04:00"},"-JUbq4w4NzTof1qEITLH":{"avatar":"hi.hey","description":"hey guys whatsup","name":"Shane","time":"2014-08-18T02:40:17-04:00"},"-JUeC-_yhSLW6NKYDKGg":{"avatar":"THIS IS NOT A URL AT ALL. WILL YOUR APP BREAK?","description":"hey guys what's up?","name":"shane","time":"2014-08-18T13:39:39-04:00"},"-JUeCHwj4YcTPF111wWi":{"avatar":"","description":"hi","name":"shane","time":"2014-08-18T13:40:54-04:00"},"-JUeDaUpcxmu6GArYUH_":{"avatar":"","description":"Testing from prod","name":"Shane Creighton-Young","time":"2014-08-18T17:46:36+00:00"},"-JUpn9WnR4nwaqEFY5g4":{"avatar":"","description":"Hey Brennen","name":"Shane","time":"2014-08-20T23:42:08+00:00"},"-JUr1HyvlIVMC6lXY6Bf":{"avatar":"http://www.picshunger.com/wp-content/uploads/2014/05/Kitten-Or-Puppy.jpg","description":"I'm cute!","name":"Fluffy McScruffles","time":"2014-08-21T05:27:51+00:00"},"-JUr1s2J79IBtWWxaVB8":{"avatar":"http://cdn.sheknows.com/articles/2013/04/Puppy_2.jpg","description":"Got nothing on me!","name":"Mr. Higgins","time":"2014-08-21T05:30:23+00:00"},"-JUr2O2inUQuepq9PdKv":{"avatar":"http://www.lifewithdogs.tv/wp-content/uploads/2014/03/3.21.14-National-Puppy-Day5.jpg","description":"Guys. Chill. We're all cute.","name":"Champ","time":"2014-08-21T05:32:35+00:00"}}}
[
{
"name" : "John doe",
"organization" : "company",
"availability" : [["2014-09-21 18:30:11", "2014-09-21 18:40:11"]],
"skills" : ["python", "java"]
}
]
[
{
"type" : "event|workshop|talk|speaker|update",
"speaker" : "Ariel Garten",
"start_time" "2014-09-21 18:30:11",
"end_time" "2014-09-21 19:30:11",
"name" : "",
"description": "",
"location": ""
}
]
[
{
"name" : "",
"prize" : ["x", "y"],
"description" : "",
"company" : "",
"contact" : ""
}
]
[
{
"name" : "",
"role" : "transportation|organizer",
"phone" : "",
"twitter": "",
"email" : "",
}
]
Hey everyone, I've added @moezbhatti to the test app firebase we're working with 1. LMK if you want to be added to it as well --- @sitefeng should probably want to have access to it. Can you send me your email in a reply / on facebook si te?
Kartik's made an awesome issue (see #8) about the format of the data. One thing to make sure to do is to format timestamps as ISO8601 compatible strings. @moezbhatti I'm sure you can google around to see how to generate some of these timestamps for testing---there's also definitely a way to generate them from Java Time. @sitefeng same for iOS / objc.
I made a few changes based on the design guidelines we have:
Will post screenshots below
I think the right way to do this would be to have an image
field in each update that is one of 1) a URL to an image and 2) null which can indicate that we should use the default image.
What do you think, @sitefeng @moezbhatti?
We are using an outdated list
hey guys. I've got a hugely busy week (one assignment due tmr, two wednesday, have to mark 25 assignments by wednesday, midterm on thursday). just wanted to leave a note to say that a lot of the tech that's left to implement has been on my mind, that I have a good idea of how to do notifications, and I'll get to as ASAP.
if @VicV or any other android devs we have want to do some work this week, ping me here and I'll post some of my ideas for what to do next. cheers
Hey. Here are some of my thoughts for getting started on this project. This issue is in the Android repo but it applies to both platforms.
Kartik and I talked about using Firebase as a service to host our data.
I think we're using margin on the list instead of padding. I think a combination of the two will help the scroll bar appear in the right place instead of too close to the cards.
(will attach a screenshot)
branched from #1 with @KartikTalwar
my thoughts:
I'm generating better test data to put into the shane-hackthenorth
firebase. I'm using http://json-generator.com. It uses json-like input to generate test data, so I'm going to be posting the inputs here for reference.
branched from issue #1 with @KartikTalwar
Notifications are important and I haven't worked with them before. Does anyone have experience with them or does research need to be done?
thoughts:
Instead of
7:30pm - 10:00 PM
Should be
7:30โ10:30 PM
Note the โ instead of -
We need another repo for admin tools like the script to issue updates. Not sure if it should be public or private, because there is an element of security involved in keeping the device notification IDs secret.
The Sponser page is not optimized for the screen, zooming in also does not work.
branched from issue #1 with @KartikTalwar
Implementing notifications requires that we register users' devices with registration IDs.
For now, we can just put it in MainActivity. However, I think it would be fun to have a pretty title screen because a) I know we can do a pretty title screen and b) it might be nice to have a place to do such initialization in a title screen activity.
If we have time, I think it might be fun to put descriptive initialization messages like:
"Registering your device with GCM for update notifications...OK"
"GET http://hackthenorth-app.firebaseio.com...OK"
"PUSH http://hackthenorth-app.firebaseio.com/devices/android...OK"
just because our audience might appreciate that :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.