A set of Android tools that facilitate apps development

Related tags

Tools enroscar
Overview

Enroscar

A set of Android tools that facilitate apps development

Build Status

Well, this repo contains pretty much code used internally at Stanfy to develop Android apps. Some parts lack documentation and are outdated, we are working on this problem. Currently we have 2 components that are definitely worth to check out now:

  • Goro - a generic tool for organizing asynchronous tasks in queues and Android service
  • Enroscar Async - a library that helps to put any asynchronous operation behind Android Loader and integrate it with RxJava.

Project Async2014 demonstrates how they can be used.

License

 Copyright 2011-2014 Stanfy Corp.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
Comments
  • Cancel Async on Loader reset

    Cancel Async on Loader reset

    When resetting the Loader, we must free all the resources and wait for next startLoading call to start working again.

    Would fix https://github.com/stanfy/enroscar/issues/60

    bug async 
    opened by Vandalko 5
  • Update Gradle plugin and Robolectric tests

    Update Gradle plugin and Robolectric tests

    • Update Gradle plugin and Robolectric tests
      • Reflection-based tests didn't survive
      • ImageRequestTest.shouldCacheImages() does not pass for some strange reason
    • Remove strict ui-net dependency
    • Enable Docker-Travis integration http://docs.travis-ci.com/user/workers/container-based-infrastructure/
    opened by Vandalko 4
  • async library redesign

    async library redesign

    /cc @lampapos

    Take a look at AsyncUserActivity.

    Generally:

    class Operations { // may be even an activity or fragment
      @Load Async<List<OrderItem>> orderItems() {
        return implementation;
      }
      @Send Async<OrderSubmissionResult> submitOrder() {
        return implementation;
      }
    }
    
    void onCreate() {
      // ...
      // generated class
      OperationsOperator operator = OperationsOperator.build()
          .operations(new Operations())
          .withinActivity(this)
          .get();
    
      operator.when().orderItemsIsFinished()
          .doOnResult((List<OrderItem> items) -> { /* Display them. */ })
          .doOnError((Throwable e) -> { /* whatever */ })
    
      .alsoWhen().submitOrderIsFinished()
        .doOnResult({ /* Remove that annoying progress bar. */ });
    
      submitButton.setOnClickListener({ operator.submitOrder(); });
    
      operator.orderItems();
    }
    
    
    opened by roman-mazur 3
  • Move 'images' dependency from 'ui' module to 'assist'

    Move 'images' dependency from 'ui' module to 'assist'

    CrucialGUIOperationManager has no direct reference to the ImagesManager now - ImagesManagerCrucialGUIOperationListener located in assist module, just registers itself as regular listener and implements the behavior removed from ui module

    opened by Vandalko 1
  • Extracted DefaultBeansManager configuration to a separate method

    Extracted DefaultBeansManager configuration to a separate method

    By using DefaultBeansManager you always have to pray Lord that nobody had called BeansManager.get(ctx) before you.

    Whole configuration thing is fully static and not depends on context so let's allow users to call BeansManager manually.

    opened by Vandalko 1
  • Enable multi-variant publishing

    Enable multi-variant publishing

    Javadoc, sources and plain Jar is packaged from default variant. AFAIK, Android Studio can't resolve sources for AAR dependencies, but can decompile classes.

    opened by Vandalko 0
  • Verbose image loading error logs

    Verbose image loading error logs

    ImageManager simply eats all helpful error messages so you have no clue why your image hadn't load.

    Real life example which gives you nothing:

    enroscar.ImagesManager﹕ Process url content://com.example/brandpack/restaurant_logo/snoac_st
    enroscar.ImagesManager﹕ Not in mem content://com.example/brandpack/restaurant_logo/snoac_st
    enroscar.ImagesManager﹕ Set loading for content://com.example/brandpack/restaurant_logo/snoac_st!160x160
    enroscar.ImagesManager﹕ Key content://com.example/brandpack/restaurant_logo/snoac_st!160x160
    enroscar.ImagesManager﹕ Current loaders count: 1
    
    enhancement 
    opened by Vandalko 0
  • Improve GRADLE build Performance

    Improve GRADLE build Performance

    Parallel builds. This project contains multiple modules. Parallel builds can improve the build speed by executing tasks in parallel. We can enable this feature by setting org.gradle.parallel=true.

    Configuration on demand. Configuration on demand tells Gradle to configure modules that only are relevant to the requested tasks instead of configuring all of them. We can enable this feature by setting org.gradle.configureondemand=true.

    gradle caching. Shared caches can reduce the number of tasks you need to execute by reusing outputs already generated elsewhere. This can significantly decrease build times. We can enable this feature by setting org.gradle.caching=true.

    Gradle daemon. The Daemon is a long-lived process that help to avoid the cost of JVM startup for every build. Since Gradle 3.0, Gradle daemon is enabled by default. For an older version, you should enable it by setting org.gradle.daemon=true.

    ===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

    opened by hongdongni 0
Owner
Stanfy
Stanfy
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.

Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i

simpligility 1.4k Dec 27, 2022
🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

???? 中文 / ???? 日本語 / ???? English ?? Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

Yuriel Arlencloyn 846 Nov 14, 2022
Combines tools for fast android app devlopment

Android - Rapid Test Driven Development Combine tools to generate most of the boilerplate code. Examples how to test different aspects of an android a

Nico Küchler 379 Nov 25, 2022
Analytics Tools for Kotlin Multiplatform Mobile iOS and android

Index Features Example Introduce Architecture Installation Configure Using Screen Mapper Initialization Implementation Delegate Parameters ATEventPara

LINE 16 Dec 5, 2022
Taskbar puts a start menu and recent apps tray on top of your screen that's accessible at any time

Taskbar puts a start menu and recent apps tray on top of your screen that's accessible at any time, increasing your productivity and turning your Andr

Braden Farmer 551 Dec 31, 2022
View Inspection Toolbar for Android Development

View Inspector Plugin View inspection toolbar for android development. Features Boundary show outlines show margins show paddings Layer Scalpel featur

Fumihiro Xue (Peter Hsieh) 2.2k Nov 14, 2022
A simple utility to remove unused resources in your Android app to lower the size of the APK. It's based on the Android lint tool output.

android-resource-remover android-resource-remover is utility that removes unused resources reported by Android Lint from your project. The goal is to

Keepsafe 1.3k Dec 16, 2022
This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically.

#Android Localizationer This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically. T

Wesley Lin 822 Dec 8, 2022
Automated-build-android-app-with-github-action - CI/CD Automated Build Android App Bundle / APK / Signed With Github Action

Automated Build Android With Using Github Action Project Github Action Script Us

Faisal Amir 34 Dec 19, 2022
proguard resource for Android by wechat team

AndResGuard Read this in other languages: English, 简体中文. AndResGuard is a tooling for reducing your apk size, it works like the ProGuard for Java sour

shwenzhang 8.1k Jan 9, 2023
A super fast build tool for Android, an alternative to Instant Run

Freeline Freeline is a super fast build tool for Android and an alternative to Instant Run. Caching reusable class files and resource indices, it enab

Alibaba 5.5k Jan 2, 2023
Command-line tool to count per-package methods in Android .dex files

dex-method-counts Simple tool to output per-package method counts in an Android DEX executable grouped by package, to aid in getting under the 65,536

Mihai Parparita 2.6k Nov 25, 2022
Make Android screenshots of scrollable screen content

scrollscreenshot Make Android screenshots of scrollable screen content - brought to you by PGS Software SA This tool makes a number of screenshots, sc

PGS Software 714 Dec 7, 2022
[] Dissect layout traversals on Android

Probe Dissect layout traversals on Android. Features Intercept View methods. onMeasure(int, int) onLayout(boolean, int, int, int, int) draw(Canvas) an

Lucas Rocha 555 Nov 25, 2022
Android Library Finder

alfi Android Library Finder Search through thousands of android libraries that can help you scale your projects elegantly Usage Search for something a

César Ferreira 509 Dec 8, 2022
Annotation based simple API flavored with AOP to handle new Android runtime permission model

Let Annotation based simple API flavoured with AOP to handle new Android runtime permission model. If you check Google's Samples about the new permiss

Can Elmas 530 Nov 25, 2022
Make mosaic effect on android

ProMosaic Make mosaic for image on android. Features Select Mode Follow finger Select rectangle Effect Mode Grid color based on original image Blur Im

dawson 359 Dec 29, 2022