yashsingh1/xdaforums huggingface dataset:
[Android Software Development] Brut.all:
MOTIVATIONS AND FEW WORDS TO NIANTIC

As I stated above my goal is to make Ingress game better and more enjoyable for people. If you think it's evil then please read my motivations and explanation below:

There aren't and never will be features for cheating: location faking, sending same action several times, automatic passcode submitter, etc.

As I said above I have divided mod features into categories of different "dirtness level". I focus on "clean" features and I'm open to suggestions or criticism from players or even from Niantic itself.

I don't share my code and I obfuscate it to not make Ingress easier to hack by other people.

A whole game and world of Ingress is about hacking and reading between lines. I think my mod fits this world perfectly. There are some people who leak Ingress app from NIA and there is some guy somewhere in the internet who tries to get even more from it. It makes perfect sense :)

I think there are many good features that will be never added by Niantic. I see several reasons: statistics won't be added because it doesn't make much sense for storyline. Why NIA would add such feature? Intro skipping or new items screen won't be added because these features prioritize quick access over a nice look. Niantic can't do the same because Ingress would look like a game for nerds. But there are many people who don't care about the look because... they're nerds ;-P

And finally: I won't fight Niantic, so if they don't like my mod and decide to react then there will be no mod anymore.

If you're from Niantic then please think what is the best for Ingress users. If you don't like one or two of my features then I'll remove them and keep the valuable ones. If you still think this mod isn't good and it's a matter of time before you react then please do it sooner, not later. Mod won't be very popular yet, Ingress players won't be disappointed so much and I won't lose a lot of my time :)

FINAL NOTES FOR USERS

Once more: feel free to suggest new features or changes to existent ones. You can also criticize a whole mod idea. I want to know what do you guys think about it.

If you get a force close then post a logcat and mod version here.

If something doesn't look ok then post a screenshot. I have a 320x480 and 480x800 devices, but I can't test it on 240x320 and >480x800 resolutions.

You can also report language faults in the app or even here. English isn't my native and I often write something that doesn't seem natural even to me. I would be happy if someone would suggest better names or descriptions for configuration options, etc.

Of course you can redistribute this mod, but please don't do that if you don't have a good reason. I just want to know how popular it is. Also if you redistribute it then please add a link to this thread to give users a full context.

If you want to make a donation then link is in my signature, but remember that this mod may be killed by Niantic at any time.
[Android Software Development] Brut.all:
[RESERVED]
[Android Software Development] Brut.all:
[RESERVED2]
[Android Software Development] iBotPeaches:
Very amazing :)

I'm gonna try it out on a new account just to be safe, but I love the work and holy cow you did a lot and I can't believe it.

Niantic better sit down and learn some must needed features and options. The globe one for sure :)
[Android Software Development] Jackos:
Keep up outstanding work. I just installed this mod and I confirm that it works flawless.

I'm looking forward to future updates.
[Android Software Development] Brut.all:
iBotPeaches: I did a lot? But you have noticed that above features list is mostly a TODO and for now there are just new items screen and intro skipping? ;) I'm not sure if this is clear from above posts.

I wanted to release it early to get some ideas from people.... or be banned ;)
[Android Software Development] Jackos:
What about a nosound version? It reduces the app size and removes the annoying sounds for people that are tired of hearing those squeaks ;)

Please find attached a nosound version prototype.
[Android Software Development] ataru:
it will be possible to have screen: "exit. are you sure?" when accidentally using back button?
[Android Software Development] iBotPeaches:
Ahh, I thought you did all that stuff that was bolded in the features list :p Guess I didn't read it well enough.
[Android Software Development] withoutname90:
Hi, on mine HTC Desire it crash suddnly..

EDIT: Reinstalled, work like a charm..
[Android Software Development] phyreskull:
One thing possibly worth pointing out: I think this version will not handle the new push messages, as I believe those are restricted by the certificate used to sign the app. Are you able to confirm this?

Otherwise, very cool work :)
[Android Software Development] Jackos:
They do work for me, at least the "@" notifications ;)

Needs further testing.
[Android Software Development] Brut.all:
Usually more variants = more problems, but I think mute version may be worth it. It's almost 3 times smaller and space is crucial on many devices. It might also use less RAM and start up faster, because sfx are usually preloaded into memory. I'll do some benchmarks.

Sure, but what for? If you accidentally exit application, you can return to it in no time.

I'm not sure about it. I got comm notification today, but I was using Ingress just moments earlier, so it might be background service, not push. We'll see.
[Android Software Development] Jackos:
Exactly my point of view :)

However it's a pity that the app uses this same amount of RAM. It might get better if you remove corresponding baksmali lines, I just removed the sound files.

I guess it's because on low ram devices the app gets closed instantly. So a back fail-safe button would save him the app loading time.
[Android Software Development] H2othebest:
Impressions and suggestions

Nice mod!

I am an addicted Ingress player and I really appreciate your work!

The new item tab is awesome!!

I only want you to know that there is a G+ user that is modding Ingress too:

Have a look here.

He did a version even for 240x320 screen.

Maybe you can have a look at his work ;)

I hope you can keep this up to date :)
[Android Software Development] larsiant:
Works perfectly!

I'll keep an eye on that, your features list sounds extremely promising! :cool:
[Android Software Development] Brut.all:
ingress-1.26.1-broot-dev1.apk

It's muted and should work on all screen sizes. Layouts for 240x320 and 320x480 were created by Eugene Kartashov (thanks!), but I have integrated them into single universal apk. It's just ~0.5MB larger than Eugene's separate apks. I can't test it on 240x320 because I don't have such device. Please confirm if it's ok or not. I'll add fullscreen feature before 0.2.0 release, so upgrade button won't overflow on some devices.

Also I can confirm sounds are loaded on demand, they aren't preloaded, so muted version shouldn't boot up faster. It should take less memory though.

Is there anyone who miss these sounds? As I said I would like to avoid fragmentation and I think muted version is just better.
[Android Software Development] Brut.all:
And if you have 240x320 device then please tell me if new items screen looks ok, especially if you have 100+ items of one type. 320x480 seems to be ok.
[Android Software Development] Jackos:
What about camera settings and scanner range/update interval mod?
[Android Software Development] H2othebest:
I have a 480x800 screen and everything is extremely small, so I have no problem in reading the number of items...
[Android Software Development] Brut.all:
It's extremely small, so you do not have problems? Or you do?

Can you post a screenshot? What device do you have?
[Android Software Development] PhaseBurn:
I love this mod, from the description, which makes this even harder to post.

I'm afraid this explicitly goes against the terms of service of Ingress, (http://www.ingress.com/terms), which states specifically:

You shall not:

(a) copy, translate, modify, or make derivative works of the Products, the Content or any part thereof;

(b) redistribute, sublicense, publish, sell, or in any other way make the Products or Content available to third parties;

(c) access the Product or Content through any technology or means other than those provided by Google (including without limitation automation software, bots, spiders, or hacks or devices of any kind);

This client modification clearly violates all 3 sections above (and possibly others I didn't post here - check the URL above if you really want to know for sure).

Now, I'm not affiliated with Niantic or Google, nor an XDA moderator, but given this very clearly violates the terms of service, I don't think it's appropriate for discussion on XDA, and highly suggest that development ceases. The more people who start using this, the more severe Niantic's reaction is likely to be - if it's shut down soon, they probably won't do anything. In a month, they might ban anybody actively using it, as there will be a lot more (and it'll gain a lot more publicity).

Just my $0.02 - please don't shoot me for my opinions.
[Android Software Development] H2othebest:
I own a SGS+ (i9001)

Now everything is small but I can deal with it :)
[Android Software Development] Brut.all:
[MENTION=1523205]PhaseBurn[/MENTION]

Yes, you're right. This is why I have added a warning in first post and in red that it's risky and you may got banned. On the other hand there are so many things to improve and original app doesn't even support smaller screens. It would be a pity to not try to do something with it. Of course it's very important to stick to some rules, to know what to not do, because it's just bad for other people. I try to not do any damage to the game, other players or Niantic. It's critical for me.

And if XDA administrators think it should not be here, then so be it. But I think XDA is mostly about software modifications and most of them are against their TOS.
[Android Software Development] PhaseBurn:
While I agree with you on almost all these points, there's two things about this I am just not comfortable with:

1) Your lack of providing source code, so that I/Others/Niantic can see you're only making the modifications you claim to be

2) Your intentionally obfuscating your modifications (so you claim) despite source not being available

While I see you posted your reasons for the above, it nevertheless doesn't preclude the paranoid from wondering...

It's possible you implemented additional features not listed for yourself/other friends in a separate build.

It's possible you implemented additional features not listed based on a whitelist ACL in the same build.

It's possible you have modified the client to randomly drop items from my inventory, and not displaying those dropped items in the scanner.

It's possible you are doing a number of modifications, for personal gain, to hurt one faction or another, or something.

Obviously, server side checks keep most operations sane, but there's still a lot of damage a rogue client could do.

Source code would go a LONG way in alleviating the fears I, and presumably, others, have about this mod. In fact, most of the "against the TOS software modifications" on XDA include source code for exactly those reasons - it gives the users the peace of mind to use the mod, which is against the TOS in the first place, but also gives the original vendor relief seeing that things are on the up and up and they shouldn't be worried about a "black box" that they have no idea what it does, accessing their data, potentially doing things it shouldn't.
[Android Software Development] Brut.all:
[MENTION=1523205]PhaseBurn[/MENTION]

I have to admit I didn't think of it that way.

Additional features for me or for closed group of people obviously would be bad, but I think it doesn't fit well to this context. If I want to do such things I wouldn't need this thread, it doesn't help me in any way. Actually it would be bad for me, because I would rather like to stay in the shadows. But I totally agree this isn't a comfortable situation for Niantic, because they don't know what I add to their app. I understand their concerns about the players, even if people intentionally take this risk.

Unfortunately I don't see a better solution. It would be great to somehow cooperate with Niantic, but I don't think this is possible. In the perfect world everything would be secured on the server side and client sources would not matter so much, but I think Ingress isn't mature enough (multi-hacks, etc.) and it's location-based, so it can't be 100% secure. Releasing sources to the public is the worst thing I could do, it would be terrible for this game and I'm sure Niantic know that. I would rather abort this project.

I love open source and openness in general, usually I don't hide my work (apktool - thousands lines of code and thousands of users), but there are cases when limiting access to some crucial knowledge is just a lesser evil. I'm open to discuss this problem farther, I think it's important, but until someone will get a better idea I think I'll do what I started.

Thanks for your opinion!
[Android Software Development] Brut.all:
[MENTION=1523205]PhaseBurn[/MENTION]

Ahh and one more thing: Niantic is in a slightly better situation, because they have obfuscation mappings for their code. 50% of additional code is just simple calls, field access, etc. to their code and it makes my code quite readable. Of course it doesn't excuse me, but at least modifications aren't so closed to Niantic.
[Android Software Development] PhaseBurn:
Well I applaud your work, and am glad I could present a point of view you hadn't considered. I hope Niantic doesn't come down hard on the project.

I do agree that this is a unique situation where source code is potentially harmful as well as helpful. There's some iPhone devs working on an Ingress client for that platform with out Niantic's blessing, so it might be useful to see what, if any, official reaction they receive. They're obviously doing a lot more at a client level than you are (see https://github.com/alex-alex/iOS-Ingress). Since their code is 100% open source, on GitHub, though, where yours isn't, I'm not sure if you could relate the two situations entirely.

Anyway, I've said what I came to say, and you've made your decisions which I respect, so stay the course, and good luck with it in the future!
[Android Software Development] sonnydroid:
Is there a 1.26.1 with sound?
[Android Software Development] a.cid:
I tried the original apk present in the OP. Immediate fc on launch.

(Couldn't take logcat as I am afk)

As you released the ldpi version too, I thought I'll give it a try.

Works on my 240*320, 600mhz Samsung Galaxy Fit S5670

Some screenshots:

Edit:

As you can see, a lot of things work, a few things don't.

Like for eg, in the original items tab, once you select the item category (like weapons, mod etc), you cannot return to all items tab.

Possible fix is to make the category selector scrollable.

(This was present in all of Eugene's version too, minor graphics issue, nothing too bad)

Like Eugene's screen mods, this one too has the location maps not available. As seen in my screenshot, once the app signature changes (I think that's the reason), the maps stop loading and you are presented with a grey screen.

So you can't report bad portal locations, as well as submit new portals.

[Any thoughts on how to fix this?]

The original items tab shows numbers much clearer, and that is a good thing (fixed by Eugene in his latest layout).

The items mod tab is slightly cumbersome, as I had to scroll thrice to effectively see everything. The boxes and font are quite big, and again, just a minor graphics issue.

On the portal info screen, the portal pic comes reversed, and the button is too big (Same problem from Eugene's layout, minor graphics issue)

Rest all seem good, unless I missed something.

Do you still want a logcat/ss of the apk present in the first post?

Thanks for this mod. Now I know which items I can safely recycle ;)

Looking forward to the rest!

Edit2:

The portal shields appeared like this in Eugene's layout. Couldn't check the same in yours as I don't have any Resistance portal nearby and I am holding off attack (as part of a strategy).

The squares for the mods are excessively big, and this happens since his last two release.
[Android Software Development] Brut.all:
I think it should not happen even on low ram devices, because Android kills apps to start new ones, not just because you closed them. Maybe it can't keep both Ingress and home app in memory.

[MENTION=388183]ataru[/MENTION] Confirm this is the case and I add this to my todo list. But it won't get high priority until there are more affected people.

Are these some existing mods? I'm not sure what do you mean by camera settings. And I rather won't increase scanner range, because it would let you see things that aren't possible to see using original app. But I'll look into update interval setting.

It seems it uses UI resources for 320x480 - don't know why. Nevermind, I want to rewrite it anyway.

Oh, nice. Thanks for the link :)

As I said I would like to avoid fragmentation, but if you really need sounds and/or there are other people who like them, then I'll support two variants of this app. I'll release next version in two variants, will see how popular they are.
[Android Software Development] Jackos:
That's exactly the problem.

I don't think that such a mod is available publicly, but I saw those settings in the baksmali code and I thought that might be a great idea to change them from your modded tab.

By camera settings I had in mind to zoom out more then currently possible. In addition to the range mod that could be a great way to see more portals ahead. Of course this could be rated as cheating in some way, so as always it's your call. In my opinion the IITC mobile app shows you portals in any location, so why not increase the in-app range?
[Android Software Development] Jackos:
I forgot to ask, are you removing only the sounds files or also corresponding smali code lines?
[Android Software Development] Brut.all:
Ok, I'll add it to todo.

There is a LOCATION_TRACKER_MAX_UPDATE_LATCH_TIME and it's set to 5s by default. I'll confirm if it's what I think.

I know, I know, you can call me paranoid ;) For now I'll focus on other things, but we'll see.

I edited the code. Sound manager/player/cache is still there, but all calls to play/load sounds are ignored.
[Android Software Development] Jackos:
I was more likely thinking about updateIntervalMs, but maybe you're right :D
[Android Software Development] Brut.all:
[MENTION=4344846]a.cid[/MENTION]

Thanks for comprehensive review and screenshots :)

I didn't even touch layouts created by Eugene, because I can't see how they look like. My version should look exactly the same as his. If it doesn't then most probably he has changed something or there's something wrong with my integration.

I know about maps problem and yes, it's related to certificates. Eugene had this problem too, but fixed it already - at least he said so on G+. I have to do something with it.

So I think in original items tab you have to scroll about 15 times ;-P Ok, I know about the filter :) Actually I didn't scale this screen to ldpi, so it uses same px sizes as on 480x800. I think buttons can be 2 times smaller in Y axis and you will get one-scroll user experience ;-D Ehh, 3:4 screens are so weird, there's always not enough Y space :)

There is also another way to make it to work on smaller screens - scale a whole screen linearly. It's easy to do because game engine supports it out of the box and all layouts should look perfectly ok, but it won't give us great user experience - everything will be blurry, many UI components and fonts will be too small, etc.

Do you get FC using original app? If yes then it's normal. If no then I wonder what is going on, but this isn't very important.

Ahh... ;-D
[Android Software Development] Brut.all:
v1.26.1-broot-0.2.0 is here!

Updated Ingress to 1.26.1.

Added layouts for small screens: Eugene's 1.26.0.20130526

Added mute version - for smaller size and likely smaller memory usage.

Added fullscreen mode.

Added option to disable portal particles and xm particles.

Added restart button - it's useful for reloading UI changes (fullscreen mode, layouts, etc.).

Fixed gray maps problem.

Also comparing to dev1 version:

Adjusted [ITEMS] screen to smaller screen sizes - if my simulations are correct then on 240x320px it should be now ~1.5 of screen height and items L1-L6 should be visible without scrolling.

Better recognition of screen sizes - Galaxy S should be now detected properly.

ingress-1.26.1-broot-0.2.0-mute.apk

ingress-1.26.1-broot-0.2.0.apk

Few notes:

Many configuration options, especially these related to UI need app restart - I added a restart button for your convenience. I was experimenting with hot swapping of UI elements and got most of them ok, but there were always some problems. Unfortunately original UI elements weren't designed to handle reloads, because they don't have to.

Toggling particles on/off doesn't always require a restart, but sometimes it does. AFAIK XM doesn't need it, you just have to wait a little. Portal particles can be switched off at any time, but if app was started without them then you can't enable them without a restart.

There are many other scanner objects, effects and animations that can be disabled, but for now I don't know how to manage them uniformly, it requires some work. Unfortunately I don't see much improvement on my Galaxy Ace, so I'm not sure if this feature is worth looking for. Please let me know if you see bigger fps gain if you disable both particle effects and/or if you disable all objects and effects (another option in mod menu). Even with empty map my Galaxy Ace is slow :-/

I have some ideas how to simulate smaller screens, so maybe I'll start developing layouts instead of just copying them from Eugene.
[Android Software Development] a.cid:
I do manage to get it running on Ace's younger brother, that too, quite impressively for a phone launched 2.5 years ago (and outdated at launch itself).

I recommend using the official CM7 stable release. Pretty outdated, but that's the best rom with regards framework memory footprint. Also freeze out persistent apps, like the g+, facebook and twitter apps. (I use Link2sd for this, since it loads up the installed apps list pretty quick).

No idea what's your oc range, but normally I keep my phone at stock 600mhz frequency, but have to up it to 710mhz on cluster farms (which otherwise makes the game run at a horrible 1fps).

Just one question, what exactly are you referring to "portal particles"? Resonators and their individual link to the portal?

Will test it out and review later :)

(Just got back from a 7hr outing)
[Android Software Development] Brut.all:
[MENTION=4344846]a.cid[/MENTION]

Ace is my business phone, so it's 100% stock + Ingress ;) Personally I have SGS2 and Ingress works very good on it.

Energy flowing up from portals. This name was actually given by Niantic, not me ;) And XM particle is just XM lying on the ground. If you disable it then you still will be able to see XM, but it won't have extra effects.
[Android Software Development] a.cid:
Oh well, I'm not a big fan of stock :p

Portal particles never served any purpose for a geek's game. Only use they could have is denoting the approximate level of the portal (which you can precisely find out by just clicking on the portal). So technically, its still worthless.

I know what XM is, not an Ingress newbie ;)

Looking forward to see how big the change (if any) is without these added loads.

Props to you though on fixing the Maps grey screen issue.

Will you share how did you do it?

Well before I found Eugene modding the apk's, the changes on the layout that I personally made resulted in blunders like this:

So just exercise a little caution ;)

Even with only the Items screen mod, this has served me well.

Thank you :)