[Android General] daxgirl:
6htGear Rom control V2.1

By [MENTION=5493353]Wuby986[/MENTION] & Daxgirl

Hello everyone!

So here we go again... V2.0

Big thanks:

We would like to begin from crediting people, who gave us ideas, inspiration and, most importantly, their free time, in order to make v2.0 a reality.

To our dearest friends and talented developers, [MENTION=1042140]tdunham[/MENTION] and [MENTION=3026895]DaOldMan[/MENTION]:

Guys, you OWN this. You made this happen. You pushed us and we pushed you, and together, you, us and rom control, have grown to be what we are today.

No thanks can ever be enough for long nights of applying patches, merging sources, connecting through teamviewer and working out kinks together. [MENTION=5493353]Wuby986[/MENTION] and I are forever in your debt.

Why different thread?

1. The entire application is different. It barely qualifies as an update anymore.

2. All the preferences are different. The way they work is different. It requires new way of doing things. Radically new.

3. new support library and new basic structure.

4. To sum it up... it's too different to maintain same thread for both versions

Project characteristics:

1. Rom control is an open source project, designed to provide rom builders with a core code for compiling android application for controlling core functions of their roms and mods through Content Provider of Settings.System sqlite table

2. Rom control is designed with consideration of the fact that most rom builders do not have sufficient skills in original android development to build application with this functionality on their own

3. The emphasis is given in this version (even more than previous one) to outsource most conditions and attributes to xml, and so to minimize the need of the user (rom builder) to be subjected to java programming

4. In addition to familiar utilization of ContentResolver to pass data between RomControl and system, the project offers additional properties, such as file based preference, URI selection preference, Direct intent to shortcut app preference, preference listing image thumbnails for previews, script running preference, automated template for "About Us" section, automated dialog for changelog, backup and restore finctionality and more.

5. The project is designed to be compiled in Android Studio using the latest sdk tools and gradle tools.

6. The project essentially is designed to be a system application with privileged access, and therefore needs to be installed in /system/priv-app to be granted some of its permissions

7. The project requires root access for some of its functionality. Mainly running shell scripts with su and killing some app processes.

License and sharing policy:

1. This project is distributed under GNU General Public License as open source code. The copy of said license can be obtained and reviewed here

2. As such, this project is protected from claiming exclusivity by anyone.

3. Any developer wishing to use this code, with accordance to the license, must provide full source code for each updated version. That means, for any new version of the rom including updated RomControl application, a link to full source code of the latest version must be provided.

4. By modifying and using this code, you automatically accept the License conditions and must be compliant with GPL, as stated below:

5. You're under no obligation to thank us, credit us or tag us in your official postings while distributing your copy.

6. You ARE, however, prohibited from removing our copyright information from our source code.

7. You are obligated to keep the code open under GPL. Failure to provide sources for updated copies of your work will result in complaint first to XDA officials for license infringement and further to GPL legal department.

8. Using the source code on any other forum outside of xda is of course allowed with accordance to the license and sharing policy, provided the sources are kept open and obtainable by anyone.

9. Using apktool to compile a copy of this code after making changes in the decompiled form of someone else's application is strictly prohibited, as the developer will not be able to provide full open source of their version. Any illegal use of any copy of this project can be and should be legally stopped by the owner of the code copy.

10. This voids rule number 12 of xda promising a developer exclusivity over their product. This product is yours, but the code belongs to the public. You are NOT TO HOLD COPY OF ROM CONTROL EXCLUSIVE.

Open source libraries included in this project:

1. RootTools by Stericson

2. Sergey Margaritov's ColorPickerPreference modified to adopt to our needs

3. CircleImageView by hdodenhof

Project requirements:

1. Installed and updated android sdk, including but not limited to:

Android SDK Build-Tools 24

Android SDK Platform-Tools 24

Android support repository 33

Google repository, rev 29

Latest android support library

2. Android studio version AT LEAST the latest stable version (currently 2.1.2), you can use the canary channel as well, currently on 2.2.0 preview 5.

3. Updated gradle tools

4. Working knowledge of importing project into Android Studio and troubleshooting gradle sync. If you don't know how to, Google it.

5. EXTENSIVE knowledge in android modding:

This project is for rom developers and modders. It helps coordinate between your users and your mods. If you don't build roms or don't have mods, this project means nothing to you.​

What support you can expect to get:

1. Code explanation regarding major functionality

2. Adding new preferences and navigation items

What support you CANNOT expect:

1. Setting up android studio

2. Debugging gradle issues and compiling

3. Changing colors, strings, adding themes, design, changing setup... - Android documentation is vast and Stackoverflow is even vaster.

4. Smali modding

5. Private messaging support - DO NOT EVEN TRY

6. Asking for compiled apk file.

This is NOT an application thread. This is NOT an application. This is a SOURCE CODE for MAKING application.

The answer to a question "Can someone give me a compiled version" is "And what are you going to do with it?"​

Project main Git repository:

Here

Thread list of contents:

Starting the project

Adding navigation drawer items

Running android app: where, how, builds, gradle tasks and you-name-it

Preferences - Part 1: Introduction

Preferences - Part 2: Types of preferences

Themes, About Us activity and Changelog dialog

Backup and Restore

XDA:DevDB Information

6thGear RomControl v2.0, Tool/Utility for all devices (see above for details)

Contributors

daxgirl, wuby986, tdunham, DaOldMan

Version Information

Status: Testing

Current Stable Version: 2.1

Stable Release Date: 2016-08-26

Created 2016-07-06

Last Updated 2016-08-26

Latest Update details:

Post number 195