diff --git a/ChangeLog.md b/ChangeLog.md index a8e14be..7b8dd47 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +Version: 1.1.5 +Allow remove preference key from SharedPreferenceService +Naming convention cleaning up + Version: 1.1.4 Fix the bug that navigation may crash the app when the app just resumes from other app such as facebook login diff --git a/README.md b/README.md index 1625e2c..4d62b2c 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,13 @@ The library is currently release to jCenter and MavenCentral com.shipdream android-mvc - 1.1.4 + 1.1.5 ``` **Gradle:** ```groovy -compile "com.shipdream:android-mvc:1.1.4" +compile "com.shipdream:android-mvc:1.1.5" ``` ## Dependency injection with reference count diff --git a/build.gradle b/build.gradle index 9cabbdf..2645bc8 100644 --- a/build.gradle +++ b/build.gradle @@ -45,6 +45,11 @@ def jacocoCoveredProjects = [ ] allprojects { + tasks.withType(JavaCompile) { + sourceCompatibility = 1.7 + targetCompatibility = 1.7 + } + repositories { jcenter() mavenLocal() @@ -56,13 +61,21 @@ allprojects { } } +if (JavaVersion.current().isJava8Compatible()) { + allprojects { + tasks.withType(Javadoc) { + options.addStringOption('Xdoclint:none', '-quiet') + } + } +} + ext { siteUrl = 'https://github.com/kejunxia/AndroidMvc' // Homepage URL of the library gitUrl = 'https://github.com/kejunxia/AndroidMvc.git' // Git repository URL version = [ major: 1, minor: 1, - patch : 4 + patch : 5 ] libGroup = 'com.shipdream' libVersion = "${version.major}.${version.minor}.${version.patch}" diff --git a/documents/sites/Site-MarkDown.md b/documents/sites/Site-MarkDown.md index eb4fa73..8608613 100644 --- a/documents/sites/Site-MarkDown.md +++ b/documents/sites/Site-MarkDown.md @@ -40,13 +40,13 @@ The library is currently release to jCenter and MavenCentral com.shipdream android-mvc - 1.1.4 + 1.1.5 ``` **Gradle:** ```groovy -compile "com.shipdream:android-mvc:1.1.4" +compile "com.shipdream:android-mvc:1.1.5" ``` ## Samples diff --git a/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitController.java b/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitController.java index 8ccbd82..90c9499 100644 --- a/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitController.java +++ b/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitController.java @@ -103,7 +103,7 @@ private void handleAsyncError(Object sender, Exception e, RetrofitErrorHandler r } } else{ if (nonRetrofitErrorHandler == null){ - mLogger.warn("Unhandled exception detected: {}", e.getMessage(), e); + logger.warn("Unhandled exception detected: {}", e.getMessage(), e); } else{ nonRetrofitErrorHandler.handleException(e); } diff --git a/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitMultiEndpointsController.java b/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitMultiEndpointsController.java index 4713605..266e61a 100644 --- a/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitMultiEndpointsController.java +++ b/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/AbstractRetrofitMultiEndpointsController.java @@ -28,9 +28,9 @@ */ public abstract class AbstractRetrofitMultiEndpointsController extends AbstractRetrofitController { @Inject - Client mClient; + Client client; - private Map mHttpServiceFactoryCache = new HashMap<>(); + private Map httpServiceFactoryCache = new HashMap<>(); /** * Get a service for a specific endpoint. A new service will be created if not cached yet, otherwise cached service @@ -52,11 +52,11 @@ protected void onCreateNewHttpRetrofitServiceFactory(RetrofitServiceFactory fact private RetrofitServiceFactory getHttpServiceFactory(String endpoint) { //Cache service factory - if(mHttpServiceFactoryCache.get(endpoint) == null) { - RetrofitServiceFactory factory = new RetrofitServiceFactory(endpoint, mClient); + if(httpServiceFactoryCache.get(endpoint) == null) { + RetrofitServiceFactory factory = new RetrofitServiceFactory(endpoint, client); onCreateNewHttpRetrofitServiceFactory(factory, endpoint); - mHttpServiceFactoryCache.put(endpoint, factory); + httpServiceFactoryCache.put(endpoint, factory); } - return mHttpServiceFactoryCache.get(endpoint); + return httpServiceFactoryCache.get(endpoint); } } diff --git a/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/RetrofitServiceFactory.java b/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/RetrofitServiceFactory.java index b26094e..5e96e7e 100644 --- a/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/RetrofitServiceFactory.java +++ b/extension/controller-retrofit/src/main/java/com/shipdream/lib/android/mvc/controller/RetrofitServiceFactory.java @@ -160,17 +160,17 @@ public void addEncodedQueryParam(String name, String value) { } public static class FlexibleConverter extends GsonConverter { - private Logger mLogger = LoggerFactory.getLogger(getClass()); - private Gson mGson; - private List mOnSuccessListeners; - private String mEncoding = "UTF-8"; + private Logger logger = LoggerFactory.getLogger(getClass()); + private Gson gson; + private List onSuccessListeners; + private String encoding = "UTF-8"; public FlexibleConverter(Gson gson, String encoding, List onSuccessListeners) { super(gson, encoding); - if(mEncoding != null) { - mEncoding = encoding; + if(this.encoding != null) { + this.encoding = encoding; } - mOnSuccessListeners = onSuccessListeners; - mGson = gson; + this.onSuccessListeners = onSuccessListeners; + this.gson = gson; } @Override @@ -180,9 +180,9 @@ public Object fromBody(TypedInput body, Type type) throws ConversionException { //return raw response string try { String content = inputStreamToString(body.in(), charset); - mLogger.debug("Responding json to raw string : {}", content); + logger.debug("Responding json to raw string : {}", content); - for(OnSuccessListener listener : mOnSuccessListeners) { + for(OnSuccessListener listener : onSuccessListeners) { listener.onSuccessfulResponse(); } @@ -199,16 +199,16 @@ public Object fromBody(TypedInput body, Type type) throws ConversionException { InputStreamReader isr = null; try { Object response = null; - if(mLogger.isDebugEnabled()) { + if(logger.isDebugEnabled()) { String content = inputStreamToString(body.in(), charset); - mLogger.debug("Responding json to object: {}", content); - response = mGson.fromJson(content, type); + logger.debug("Responding json to object: {}", content); + response = gson.fromJson(content, type); } else { isr = new InputStreamReader(body.in(), charset); - response = mGson.fromJson(isr, type); + response = gson.fromJson(isr, type); } - for(OnSuccessListener listener : mOnSuccessListeners) { + for(OnSuccessListener listener : onSuccessListeners) { listener.onSuccessfulResponse(); } diff --git a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/PreferenceService.java b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/PreferenceService.java index 05bb547..29bd05b 100644 --- a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/PreferenceService.java +++ b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/PreferenceService.java @@ -41,6 +41,7 @@ interface Editor{ Editor putFloat(String key, float value); Editor putBoolean(String key, boolean value); Editor putString(String key, String value); + Editor remove(String key); Editor clear(); /** diff --git a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/AssetServiceImpl.java b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/AssetServiceImpl.java index a6c2f1e..496affa 100644 --- a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/AssetServiceImpl.java +++ b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/AssetServiceImpl.java @@ -25,15 +25,15 @@ import java.io.InputStreamReader; public class AssetServiceImpl implements AssetService { - private Context mContext; + private Context context; public AssetServiceImpl(Context context){ - mContext = context; + this.context = context; } @Override public InputStream getAsset(String path) throws IOException { - return mContext.getAssets().open(path); + return context.getAssets().open(path); } @Override @@ -41,7 +41,7 @@ public String getStringFromAssets(String assetPath) throws IOException { StringBuilder sb = new StringBuilder(); BufferedReader bufferedReader = null; try { - InputStream inputStream = mContext.getAssets().open(assetPath); + InputStream inputStream = context.getAssets().open(assetPath); bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String str; while ((str = bufferedReader.readLine()) != null) { diff --git a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/NetworkServiceImpl.java b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/NetworkServiceImpl.java index ab0c097..00773da 100644 --- a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/NetworkServiceImpl.java +++ b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/NetworkServiceImpl.java @@ -25,15 +25,15 @@ * */ public class NetworkServiceImpl implements NetworkService { - private Context mContext; + private Context context; public NetworkServiceImpl(Context context){ - mContext = context; + this.context = context; } @Override public NetworkStatus getCurrentNetworkStatus() { - ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (null != activeNetwork) { diff --git a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/PreferenceServiceImpl.java b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/PreferenceServiceImpl.java index 81cbc0f..038ebbb 100644 --- a/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/PreferenceServiceImpl.java +++ b/extension/service-core/src/main/java/com/shipdream/lib/android/mvc/service/internal/PreferenceServiceImpl.java @@ -25,92 +25,104 @@ * Wrapper to use real Android Preference */ public class PreferenceServiceImpl implements PreferenceService { - private SharedPreferences mPrefs; + private SharedPreferences sharedPreferences; public PreferenceServiceImpl(Context context, String preferenceName, int mode){ - mPrefs = context.getSharedPreferences(preferenceName, mode); + sharedPreferences = context.getSharedPreferences(preferenceName, mode); } @Override public boolean contains(String key) { - return mPrefs.contains(key); + return sharedPreferences.contains(key); } @Override public int getInt(String key, int defaultValue) { - return mPrefs.getInt(key, defaultValue); + return sharedPreferences.getInt(key, defaultValue); } @Override public long getLong(String key, long defaultValue) { - return mPrefs.getLong(key, defaultValue); + return sharedPreferences.getLong(key, defaultValue); } @Override public float getFloat(String key, float defaultValue) { - return mPrefs.getFloat(key, defaultValue); + return sharedPreferences.getFloat(key, defaultValue); } @Override public boolean getBoolean(String key, boolean defaultValue) { - return mPrefs.getBoolean(key, defaultValue); + return sharedPreferences.getBoolean(key, defaultValue); } @Override public String getString(String key, String defaultValue) { - return mPrefs.getString(key, defaultValue); + return sharedPreferences.getString(key, defaultValue); } @Override public Editor edit() { - return new AndroidPreferenceEditor(mPrefs.edit()); + return new AndroidPreferenceEditor(sharedPreferences.edit()); } private static class AndroidPreferenceEditor implements Editor{ - private SharedPreferences.Editor mEditor; + private SharedPreferences.Editor editor; AndroidPreferenceEditor(SharedPreferences.Editor andEditor){ - mEditor = andEditor; + editor = andEditor; } @Override public Editor putInt(String key, int value) { - return new AndroidPreferenceEditor(mEditor.putInt(key, value)); + editor.putInt(key, value); + return this; } @Override public Editor putLong(String key, long value) { - return new AndroidPreferenceEditor(mEditor.putLong(key, value)); + editor.putLong(key, value); + return this; } @Override public Editor putFloat(String key, float value) { - return new AndroidPreferenceEditor(mEditor.putFloat(key, value)); + editor.putFloat(key, value); + return this; } @Override public Editor putBoolean(String key, boolean value) { - return new AndroidPreferenceEditor(mEditor.putBoolean(key, value)); + editor.putBoolean(key, value); + return this; } @Override public Editor putString(String key, String value) { - return new AndroidPreferenceEditor(mEditor.putString(key, value)); + editor.putString(key, value); + return this; + } + + @Override + public Editor remove(String key) { + editor.remove(key); + return this; } @Override public Editor clear() { - return new AndroidPreferenceEditor(mEditor.clear()); + editor.clear(); + return this; } @Override public boolean commit() { - return mEditor.commit(); + return editor.commit(); } @Override public void apply() { - mEditor.apply(); + editor.apply(); } } } diff --git a/extension/service-mediastore/src/main/java/com/shipdream/lib/android/mvc/service/internal/MediaStoreServiceImpl.java b/extension/service-mediastore/src/main/java/com/shipdream/lib/android/mvc/service/internal/MediaStoreServiceImpl.java index 6b6af27..c7deb0f 100644 --- a/extension/service-mediastore/src/main/java/com/shipdream/lib/android/mvc/service/internal/MediaStoreServiceImpl.java +++ b/extension/service-mediastore/src/main/java/com/shipdream/lib/android/mvc/service/internal/MediaStoreServiceImpl.java @@ -46,10 +46,10 @@ public class MediaStoreServiceImpl implements MediaStoreService { private static final String TAG = MediaStoreServiceImpl.class.getName(); public static final String MediaStore_Media_WIDTH = "width"; public static final String MediaStore_Media_HEIGHT = "height"; - protected Context mContext; + protected Context context; public MediaStoreServiceImpl(Context context) { - mContext = context; + this.context = context; } /** @@ -189,7 +189,7 @@ private Cursor getAllBucketImagesCursor(String bucketId, String orderBy) { selectionArgs = null; } - final Cursor cursor = mContext.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, + final Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, getImageProjection(), selection, selectionArgs, orderBy); if(cursor == null) { @@ -304,7 +304,7 @@ public String getImageUriById(String imageId) { final String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA}; final String selection = MediaStore.Images.Media._ID + " = ?"; final String[] selectionArgs = {imageId}; - final Cursor cursor = mContext.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, + final Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, null); if (cursor != null) { final int dataCol = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); @@ -344,7 +344,7 @@ public ThumbnailDTO getImageThumbnailById(long imageId, ThumbnailDTO.Kind kind) final String[] selectionArgs = {String.valueOf(imageId), kindInString}; ThumbnailDTO thumbnail = null; - final Cursor cursor = mContext.getContentResolver().query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, + final Cursor cursor = context.getContentResolver().query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, null); try { if (cursor != null && cursor.getCount() > 0) { @@ -424,7 +424,7 @@ private Cursor getAllBucketVideosCursor(String bucketId, String orderBy) { selection = null; selectionArgs = null; } - final Cursor cursor = mContext.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, + final Cursor cursor = context.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, getVideoProjection(), selection, selectionArgs, orderBy); if(cursor == null) { Log.w(TAG, "Failed to get cursor of all video of bucket " + bucketId); @@ -546,7 +546,7 @@ public String getVideoUriById(String videoId) { final String[] projection = {MediaStore.Video.Media._ID, MediaStore.Video.Media.DATA}; final String selection = MediaStore.Video.Media._ID + " = ?"; final String[] selectionArgs = {videoId}; - final Cursor cursor = mContext.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, + final Cursor cursor = context.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, null); if (cursor == null) { @@ -588,7 +588,7 @@ public ThumbnailDTO getVideoThumbnailById(long videoId, ThumbnailDTO.Kind kind) final String[] selectionArgs = {String.valueOf(videoId), kindInString}; ThumbnailDTO thumbnail = null; - final Cursor cursor = mContext.getContentResolver().query(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, + final Cursor cursor = context.getContentResolver().query(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, null); try { if (cursor != null && cursor.getCount() > 0) { @@ -617,7 +617,7 @@ public ThumbnailDTO getVideoThumbnailById(long videoId, ThumbnailDTO.Kind kind) public void deleteFiles(long[] deletingFileIds) { for (int i = 0; i < deletingFileIds.length; i++) { Uri uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, deletingFileIds[i]); - mContext.getContentResolver().delete(uri, null, null); + context.getContentResolver().delete(uri, null, null); } } diff --git a/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/BaseControllerImpl.java b/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/BaseControllerImpl.java index ad6ab99..9579baf 100644 --- a/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/BaseControllerImpl.java +++ b/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/BaseControllerImpl.java @@ -45,7 +45,7 @@ interface AndroidPoster { } static AndroidPoster androidPoster; - protected Logger mLogger = LoggerFactory.getLogger(getClass()); + protected Logger logger = LoggerFactory.getLogger(getClass()); @Inject @EventBusC2V @@ -53,17 +53,17 @@ interface AndroidPoster { @Inject @EventBusC2C - EventBus mEventBusC2C; + EventBus eventBusC2C; @Inject ExecutorService mExecutorService; - private MODEL mModel; + private MODEL model; @Override public void init() { - mModel = createModelInstance(); - mEventBusC2C.register(this); + model = createModelInstance(); + eventBusC2C.register(this); onInitialized(); } @@ -91,8 +91,8 @@ protected void onInitialized() { */ @Override public void onDisposed() { - mEventBusC2C.unregister(this); - mLogger.trace("-Event bus unregistered for Controller - '{}'.", getClass().getName()); + eventBusC2C.unregister(this); + logger.trace("-Event bus unregistered for Controller - '{}'.", getClass().getName()); } /** @@ -103,7 +103,7 @@ public void onDisposed() { */ @Override public MODEL getModel() { - return mModel; + return model; } /** @@ -116,7 +116,7 @@ public MODEL getModel() { */ @Override final public MODEL getState() { - return mModel; + return model; } /** @@ -164,7 +164,7 @@ public void bindModel(Object sender, MODEL model) { if (model == null) { throw new IllegalArgumentException("Can't bind a null model to a controller explicitly."); } - mModel = model; + this.model = model; } /** @@ -185,7 +185,7 @@ protected void postC2VEvent(final BaseEventC2V eventC2V) { if (mEventBusC2V != null) { mEventBusC2V.post(eventC2V); } else { - mLogger.warn("Trying to post event {} to EventBusC2V which is null", eventC2V.getClass().getName()); + logger.warn("Trying to post event {} to EventBusC2V which is null", eventC2V.getClass().getName()); } } } @@ -196,10 +196,10 @@ protected void postC2VEvent(final BaseEventC2V eventC2V) { * @param eventC2C Controller to Controller event to be broadcast */ protected void postC2CEvent(final BaseEventC2C eventC2C) { - if (mEventBusC2C != null) { - mEventBusC2C.post(eventC2C); + if (eventBusC2C != null) { + eventBusC2C.post(eventC2C); } else { - mLogger.warn("Trying to post event {} to EventBusC2C which is null", eventC2C.getClass().getName()); + logger.warn("Trying to post event {} to EventBusC2C which is null", eventC2C.getClass().getName()); } } @@ -278,7 +278,7 @@ public void run() { } catch (Exception e) { asyncTask.state = AsyncTask.State.ERRED; if (asyncExceptionHandler == null) { - mLogger.warn(e.getMessage(), e); + logger.warn(e.getMessage(), e); } else { asyncExceptionHandler.handleException(e); } diff --git a/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/NavigationControllerImpl.java b/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/NavigationControllerImpl.java index 2841fc8..82d2127 100644 --- a/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/NavigationControllerImpl.java +++ b/library/android-mvc-controller/src/main/java/com/shipdream/lib/android/mvc/controller/internal/NavigationControllerImpl.java @@ -97,7 +97,7 @@ private void doNavigateTo(Object sender, String locationId, boolean clearTop, postC2VEvent(new EventC2V.OnLocationForward(sender, lastLoc, currentLoc, clearTop, clearedTopToLocation)); - mLogger.debug("Nav Controller: Forward: {} -> {}", lastLocId, currentLoc.getLocationId()); + logger.debug("Nav Controller: Forward: {} -> {}", lastLocId, currentLoc.getLocationId()); } dumpHistory(); @@ -107,7 +107,7 @@ private void doNavigateTo(Object sender, String locationId, boolean clearTop, public void navigateBack(Object sender) { NavLocation currentLoc = getModel().getCurrentLocation(); if (currentLoc == null) { - mLogger.warn("Current location should never be null before navigating backwards."); + logger.warn("Current location should never be null before navigating backwards."); return; } @@ -115,7 +115,7 @@ public void navigateBack(Object sender) { getModel().setCurrentLocation(previousLoc); postC2VEvent(new EventC2V.OnLocationBack(sender, currentLoc, previousLoc, false)); - mLogger.debug("Nav Controller: Backward: {} -> {}", currentLoc.getLocationId(), + logger.debug("Nav Controller: Backward: {} -> {}", currentLoc.getLocationId(), previousLoc == null ? "null" : previousLoc.getLocationId()); dumpHistory(); @@ -125,7 +125,7 @@ public void navigateBack(Object sender) { public void navigateBack(Object sender, String toLocationId) { NavLocation currentLoc = getModel().getCurrentLocation(); if (currentLoc == null) { - mLogger.warn("Current location should never be null before navigating backwards."); + logger.warn("Current location should never be null before navigating backwards."); return; } @@ -156,7 +156,7 @@ public void navigateBack(Object sender, String toLocationId) { if(success) { getModel().setCurrentLocation(currentLoc); postC2VEvent(new EventC2V.OnLocationBack(sender, previousLoc, currentLoc, true)); - mLogger.debug("Nav Controller: Backward: {} -> {}", currentLoc.getLocationId(), + logger.debug("Nav Controller: Backward: {} -> {}", currentLoc.getLocationId(), previousLoc.getLocationId()); dumpHistory(); @@ -165,15 +165,15 @@ public void navigateBack(Object sender, String toLocationId) { private void dumpHistory() { if (dumpHistoryOnLocationChange) { - mLogger.trace(""); - mLogger.trace("Nav Controller: dump: begin ---------------------------------------------->"); + logger.trace(""); + logger.trace("Nav Controller: dump: begin ---------------------------------------------->"); NavLocation curLoc = getModel().getCurrentLocation(); while (curLoc != null) { - mLogger.trace("Nav Controller: dump: {}({})", curLoc.getLocationId()); + logger.trace("Nav Controller: dump: {}({})", curLoc.getLocationId()); curLoc = curLoc.getPreviousLocation(); } - mLogger.trace("Nav Controller: dump: end ---------------------------------------------->"); - mLogger.trace(""); + logger.trace("Nav Controller: dump: end ---------------------------------------------->"); + logger.trace(""); } } diff --git a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/MyControllerImpl.java b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/MyControllerImpl.java index b010d3c..034a4a9 100644 --- a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/MyControllerImpl.java +++ b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/MyControllerImpl.java @@ -32,11 +32,11 @@ public class MyControllerImpl extends BaseControllerImpl { public static final long LONG_TASK_DURATION = 100; public void setLogger(Logger logger) { - mLogger = logger; + this.logger = logger; } public Logger getLogger() { - return mLogger; + return logger; } @Override diff --git a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestBaseControllerImpl.java b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestBaseControllerImpl.java index adcf235..7ef5c22 100644 --- a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestBaseControllerImpl.java +++ b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestBaseControllerImpl.java @@ -140,7 +140,7 @@ protected Class getModelClassType() { } void setLogger(Logger logger) { - mLogger = logger; + this.logger = logger; } } @@ -153,7 +153,7 @@ public void should_log_exception_when_posting_c2c_events_to_null_eventBus() thro graph.inject(controller); controller.init(); controller.setLogger(loggerMock); - controller.mEventBusC2C = null; + controller.eventBusC2C = null; BaseEventC2C event = new BaseEventC2C(this); diff --git a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestNavigationController.java b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestNavigationController.java index 8e1ed8d..67a1d77 100644 --- a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestNavigationController.java +++ b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/controller/internal/TestNavigationController.java @@ -274,7 +274,7 @@ public void should_be_able_to_log_navigation_history() throws Exception { // Arrange Logger logger = mock(Logger.class); ((NavigationControllerImpl)navigationController).dumpHistoryOnLocationChange = true; - ((NavigationControllerImpl) navigationController).mLogger = logger; + ((NavigationControllerImpl) navigationController).logger = logger; // Act navigationController.navigateTo(this, "any location", "back to location"); diff --git a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/TestInjectCustomControllerDependencies.java b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/TestInjectCustomControllerDependencies.java index 0a89424..1d39312 100644 --- a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/TestInjectCustomControllerDependencies.java +++ b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/TestInjectCustomControllerDependencies.java @@ -17,14 +17,23 @@ package com.shipdream.lib.android.mvc.inject; import com.shipdream.lib.android.mvc.MvcGraph; +import com.shipdream.lib.android.mvc.inject.testNameMapping.controller.AndroidPart; import com.shipdream.lib.android.mvc.inject.testNameMapping.controller.PrinterController2; +import com.shipdream.lib.android.mvc.inject.testNameMapping.controller.internal.AndroidPartImpl; import com.shipdream.lib.android.mvc.inject.testNameMapping.manager.internal.InkManagerImpl; import com.shipdream.lib.android.mvc.inject.testNameMapping.service.Cartridge; +import com.shipdream.lib.poke.Component; +import com.shipdream.lib.poke.Provides; +import com.shipdream.lib.poke.exception.CircularDependenciesException; +import com.shipdream.lib.poke.exception.ProvideException; +import com.shipdream.lib.poke.exception.ProviderConflictException; +import com.shipdream.lib.poke.exception.ProviderMissingException; import org.junit.Assert; import org.junit.Test; import javax.inject.Inject; +import javax.inject.Singleton; public class TestInjectCustomControllerDependencies extends BaseTestCases { private static class PaperView { @@ -57,4 +66,39 @@ public void testInjectionOfRealController() throws Exception { testView.show(); } + + private static class AndroidView { + @Inject + private AndroidPart androidPart; + } + + public class AndroidComponent extends Component { + @Provides + @Singleton + public AndroidPart provideAndroidPart() { + Object fakeContext = new Object(); + return new AndroidPartImpl(fakeContext); + } + } + + @Test + public void should_be_able_to_reinject_new_instance_without_default_constructor() + throws ProvideException, ProviderConflictException, ProviderMissingException, CircularDependenciesException { + AndroidComponent component = new AndroidComponent(); + + MvcGraph graph = new MvcGraph(new BaseControllerDependencies()); + graph.register(component); + + AndroidView androidView = new AndroidView(); + Assert.assertNull(androidView.androidPart); + + graph.inject(androidView); + Assert.assertNotNull(androidView.androidPart); + + graph.release(androidView); + + graph.inject(androidView); + Assert.assertNotNull(androidView.androidPart); + } + } diff --git a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/testNameMapping/controller/AndroidPart.java b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/testNameMapping/controller/AndroidPart.java new file mode 100644 index 0000000..ba9d6cd --- /dev/null +++ b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/testNameMapping/controller/AndroidPart.java @@ -0,0 +1,4 @@ +package com.shipdream.lib.android.mvc.inject.testNameMapping.controller; + +public interface AndroidPart { +} diff --git a/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/testNameMapping/controller/internal/AndroidPartImpl.java b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/testNameMapping/controller/internal/AndroidPartImpl.java new file mode 100644 index 0000000..0065359 --- /dev/null +++ b/library/android-mvc-controller/src/test/java/com/shipdream/lib/android/mvc/inject/testNameMapping/controller/internal/AndroidPartImpl.java @@ -0,0 +1,11 @@ +package com.shipdream.lib.android.mvc.inject.testNameMapping.controller.internal; + +import com.shipdream.lib.android.mvc.inject.testNameMapping.controller.AndroidPart; + +public class AndroidPartImpl implements AndroidPart { + private Object context; + + public AndroidPartImpl(Object context) { + this.context = context; + } +} diff --git a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/EventRegister.java b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/EventRegister.java index a6afa25..a49f065 100644 --- a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/EventRegister.java +++ b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/EventRegister.java @@ -20,27 +20,27 @@ import org.slf4j.LoggerFactory; class EventRegister { - private Logger mLogger = LoggerFactory.getLogger(getClass()); - private Object mAndroidComponent; - private boolean mEventsRegistered = false; + private Logger logger = LoggerFactory.getLogger(getClass()); + private Object androidComponent; + private boolean eventsRegistered = false; public EventRegister(Object androidComponent) { - mAndroidComponent = androidComponent; + this.androidComponent = androidComponent; } /** * Register c2v and v2v event buses. This method should be called on view's onCreate life cycle callback. */ public void registerEventBuses() { - if (!mEventsRegistered) { - AndroidMvc.getEventBusC2V().register(mAndroidComponent); - AndroidMvc.getEventBusV2V().register(mAndroidComponent); - mEventsRegistered = true; - mLogger.trace("+Event bus registered for view - '{}'.", - mAndroidComponent.getClass().getSimpleName()); + if (!eventsRegistered) { + AndroidMvc.getEventBusC2V().register(androidComponent); + AndroidMvc.getEventBusV2V().register(androidComponent); + eventsRegistered = true; + logger.trace("+Event bus registered for view - '{}'.", + androidComponent.getClass().getSimpleName()); } else { - mLogger.trace("!Event bus already registered for view - '{}' and its controllers.", - mAndroidComponent.getClass().getSimpleName()); + logger.trace("!Event bus already registered for view - '{}' and its controllers.", + androidComponent.getClass().getSimpleName()); } } @@ -48,15 +48,15 @@ public void registerEventBuses() { * Unregister c2v and v2v event buses. This method should be called on view's onDestroy life cycle callback. */ public void unregisterEventBuses() { - if (mEventsRegistered) { - AndroidMvc.getEventBusC2V().unregister(mAndroidComponent); - AndroidMvc.getEventBusV2V().unregister(mAndroidComponent); - mEventsRegistered = false; - mLogger.trace("-Event bus unregistered for view - '{}' and its controllers.", - mAndroidComponent.getClass().getSimpleName()); + if (eventsRegistered) { + AndroidMvc.getEventBusC2V().unregister(androidComponent); + AndroidMvc.getEventBusV2V().unregister(androidComponent); + eventsRegistered = false; + logger.trace("-Event bus unregistered for view - '{}' and its controllers.", + androidComponent.getClass().getSimpleName()); } else { - mLogger.trace("!Event bus already unregistered for view - '{}'.", - mAndroidComponent.getClass().getSimpleName()); + logger.trace("!Event bus already unregistered for view - '{}'.", + androidComponent.getClass().getSimpleName()); } } diff --git a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcActivity.java b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcActivity.java index e54a4f4..351f038 100644 --- a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcActivity.java +++ b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcActivity.java @@ -38,7 +38,7 @@ import javax.inject.Inject; public abstract class MvcActivity extends AppCompatActivity { - private DelegateFragment mDelegateFragment; + private DelegateFragment delegateFragment; String getDelegateFragmentTag() { return AndroidMvc.FRAGMENT_TAG_PREFIX + getDelegateFragmentClass().getName(); @@ -50,19 +50,19 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mvc_activity); - mDelegateFragment = (DelegateFragment) getSupportFragmentManager().findFragmentByTag( + delegateFragment = (DelegateFragment) getSupportFragmentManager().findFragmentByTag( getDelegateFragmentTag()); - if (mDelegateFragment == null) { + if (delegateFragment == null) { //Brand new container fragment try { - mDelegateFragment = (DelegateFragment) new ReflectUtils.newObjectByType( + delegateFragment = (DelegateFragment) new ReflectUtils.newObjectByType( getDelegateFragmentClass()).newInstance(); } catch (Exception e) { throw new RuntimeException("Failed to instantiate delegate fragment.", e); } FragmentTransaction trans = getSupportFragmentManager().beginTransaction(); - trans.replace(R.id.android_mvc_activity_root, mDelegateFragment, getDelegateFragmentTag()); + trans.replace(R.id.android_mvc_activity_root, delegateFragment, getDelegateFragmentTag()); trans.commit(); } } @@ -90,7 +90,7 @@ void performSuperBackKeyPressed () { @Override public void onBackPressed() { - mDelegateFragment.onBackButtonPressed(); + delegateFragment.onBackButtonPressed(); } /** @@ -98,7 +98,7 @@ public void onBackPressed() { * @param runnable The delayed onViewReady callbacks */ void addPendingOnViewReadyActions(Runnable runnable) { - mDelegateFragment.mPendingOnViewReadyActions.add(runnable); + delegateFragment.pendingOnViewReadyActions.add(runnable); } /** @@ -109,21 +109,21 @@ void addPendingOnViewReadyActions(Runnable runnable) { */ public static abstract class DelegateFragment extends MvcFragment { private static final String MVC_STATE_BUNDLE_KEY = AndroidMvc.MVC_SATE_PREFIX + "RootBundle"; - private Logger mLogger = LoggerFactory.getLogger(getClass()); + private Logger logger = LoggerFactory.getLogger(getClass()); //Track if the state is saved and not able to commit fragment transaction private boolean canCommitFragmentTransaction = false; - private List mPendingNavActions = new ArrayList<>(); - private List mPendingOnViewReadyActions = new ArrayList<>(); + private List pendingNavActions = new ArrayList<>(); + private List pendingOnViewReadyActions = new ArrayList<>(); @Inject - private NavigationController mNavigationController; + private NavigationController navigationController; /** * Hack to fix this bug * with this solution * FIXME: ChildFragmentManager hack - remove this method when the bug is fixed in future android support library */ - private FragmentManager mRetainedChildFragmentManager; + private FragmentManager retainedChildFragmentManager; /** * Get child fragment manager with android support lib rev20/rev21 which has a the @@ -132,10 +132,10 @@ public static abstract class DelegateFragment extends MvcFragment { * FIXME: ChildFragmentManager hack - remove this method when the bug is fixed in future android support library */ protected FragmentManager childFragmentManager() { - if (mRetainedChildFragmentManager == null) { - mRetainedChildFragmentManager = getChildFragmentManager(); + if (retainedChildFragmentManager == null) { + retainedChildFragmentManager = getChildFragmentManager(); } - return mRetainedChildFragmentManager; + return retainedChildFragmentManager; } /** @@ -147,15 +147,15 @@ protected FragmentManager childFragmentManager() { public void onAttach(Activity activity) { super.onAttach(activity); - if (mRetainedChildFragmentManager != null) { + if (retainedChildFragmentManager != null) { //restore the last retained child fragment manager to the new //created fragment try { Field childFMField = Fragment.class.getDeclaredField("mChildFragmentManager"); childFMField.setAccessible(true); - childFMField.set(this, mRetainedChildFragmentManager); + childFMField.set(this, retainedChildFragmentManager); } catch (Exception e) { - mLogger.warn(e.getMessage(), e); + logger.warn(e.getMessage(), e); } } else { //If the child fragment manager has not been retained yet, let it hold the internal @@ -165,7 +165,7 @@ public void onAttach(Activity activity) { //but childFragmentManager() may not be called so mRetainedChildFragmentManager is //yet set. If the fragment is rotated, the state of child fragment manager will be //lost since mRetainedChildFragmentManager hasn't set to be retained by the OS. - mRetainedChildFragmentManager = getChildFragmentManager(); + retainedChildFragmentManager = getChildFragmentManager(); } } @@ -217,14 +217,14 @@ protected int getContentLayoutResId() { * all injected controllers would be singleton across the whole application. */ public NavigationController getNavigationController() { - return mNavigationController; + return navigationController; } @Override public boolean onBackButtonPressed() { MvcFragment topFragment = null; //FIXME: ChildFragmentManager hack - use getChildFragmentManager when bug is fixed - NavLocation curLoc = mNavigationController.getModel().getCurrentLocation(); + NavLocation curLoc = navigationController.getModel().getCurrentLocation(); if (curLoc != null && curLoc.getLocationId() != null) { topFragment = (MvcFragment) childFragmentManager().findFragmentByTag( getFragmentTag(curLoc.getLocationId())); @@ -235,7 +235,7 @@ public boolean onBackButtonPressed() { navigateBack = !topFragment.onBackButtonPressed(); } if (navigateBack) { - mNavigationController.navigateBack(this); + navigationController.navigateBack(this); } return true; } @@ -255,7 +255,7 @@ public void onCreate(Bundle savedInstanceState) { //mContainerFragment.getControllersInjector() will return null.This will crash other fragments to inject //their controllers MvcActivity activity = ((MvcActivity) getActivity()); - activity.mDelegateFragment = this; + activity.delegateFragment = this; } @Override @@ -299,14 +299,14 @@ public void onViewStateRestored(Bundle savedInstanceState) { Bundle mvcOutState = savedInstanceState.getBundle(MVC_STATE_BUNDLE_KEY); long ts = System.currentTimeMillis(); AndroidMvc.restoreStateOfControllers(mvcOutState); - mLogger.trace("Restored state of all active controllers, {}ms used.", System.currentTimeMillis() - ts); + logger.trace("Restored state of all active controllers, {}ms used.", System.currentTimeMillis() - ts); - if (mPendingOnViewReadyActions != null) { - int size = mPendingOnViewReadyActions.size(); + if (pendingOnViewReadyActions != null) { + int size = pendingOnViewReadyActions.size(); for (int i = 0; i < size; i++) { - mPendingOnViewReadyActions.get(i).run(); + pendingOnViewReadyActions.get(i).run(); } - mPendingOnViewReadyActions.clear(); + pendingOnViewReadyActions.clear(); } } } @@ -333,11 +333,11 @@ public void onResume() { } private void runPendingNavigationActions() { - if (!mPendingNavActions.isEmpty()) { - for (Runnable r : mPendingNavActions) { + if (!pendingNavActions.isEmpty()) { + for (Runnable r : pendingNavActions) { r.run(); } - mPendingNavActions.clear(); + pendingNavActions.clear(); } } @@ -354,12 +354,12 @@ public void onSaveInstanceState(Bundle outState) { Bundle mvcOutState = new Bundle(); AndroidMvc.saveStateOfControllers(mvcOutState); outState.putBundle(MVC_STATE_BUNDLE_KEY, mvcOutState); - mLogger.trace("Save state of all active controllers, {}ms used.", System.currentTimeMillis() - ts); + logger.trace("Save state of all active controllers, {}ms used.", System.currentTimeMillis() - ts); } public void onEvent(final NavigationController.EventC2V.OnLocationForward event) { if (!canCommitFragmentTransaction) { - mPendingNavActions.add(new Runnable() { + pendingNavActions.add(new Runnable() { @Override public void run() { performForwardNav(event); @@ -417,7 +417,7 @@ private void performForwardNav(NavigationController.EventC2V.OnLocationForward e fm.popBackStack(tagPopTo, 0); } - mLogger.trace("Cleared fragment back stack up to {}", tagPopTo); + logger.trace("Cleared fragment back stack up to {}", tagPopTo); } transaction.replace(getContentLayoutResId(), fragment, fragmentTag); @@ -428,7 +428,7 @@ private void performForwardNav(NavigationController.EventC2V.OnLocationForward e public void onEvent(final NavigationController.EventC2V.OnLocationBack event) { if (!canCommitFragmentTransaction) { - mPendingNavActions.add(new Runnable() { + pendingNavActions.add(new Runnable() { @Override public void run() { performBackNav(event); @@ -485,15 +485,15 @@ public void run() { } else { fm.popBackStack(currentFragTag, 0); } - mLogger.trace("Navigation back: Fast rewind to home location {}", currentLoc.getLocationId()); + logger.trace("Navigation back: Fast rewind to home location {}", currentLoc.getLocationId()); } else { String tag = getFragmentTag(currentLoc.getLocationId()); fm.popBackStack(tag, 0); - mLogger.trace("Navigation back: Fast rewind to given location {}", currentLoc.getLocationId()); + logger.trace("Navigation back: Fast rewind to given location {}", currentLoc.getLocationId()); } } else { fm.popBackStack(); - mLogger.trace("Navigation back: On step back to location {}", currentLoc.getLocationId()); + logger.trace("Navigation back: On step back to location {}", currentLoc.getLocationId()); } } } diff --git a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcDialogFragment.java b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcDialogFragment.java index 8a60206..ff28993 100644 --- a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcDialogFragment.java +++ b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcDialogFragment.java @@ -31,7 +31,7 @@ *

*/ public class MvcDialogFragment extends DialogFragment { - private EventRegister mEventRegister; + private EventRegister eventRegister; @Override public void onCreate(Bundle savedInstanceState) { @@ -46,8 +46,8 @@ public void onCreate(Bundle savedInstanceState) { } catch (PokeException e) { throw new RuntimeException(e); } - mEventRegister = new EventRegister(this); - mEventRegister.registerEventBuses(); + eventRegister = new EventRegister(this); + eventRegister.registerEventBuses(); } @Override @@ -65,7 +65,7 @@ public void onDestroyView() { @Override public void onDestroy() { super.onDestroy(); - mEventRegister.unregisterEventBuses(); + eventRegister.unregisterEventBuses(); AndroidMvc.graph().release(this); } diff --git a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcFragment.java b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcFragment.java index 54a60fb..4b360dc 100644 --- a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcFragment.java +++ b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcFragment.java @@ -74,11 +74,11 @@ public enum Reason { } private final static String STATE_LAST_ORIENTATION = AndroidMvc.MVC_SATE_PREFIX + "LastOrientation--__"; - private EventRegister mEventRegister; - private CopyOnWriteArrayList mOnViewReadyListeners; - private boolean mFragmentJustCreatedFromSavedState = false; - private boolean mViewJustCreated = false; - private int mLastOrientation; + private EventRegister eventRegister; + private CopyOnWriteArrayList onViewReadyListeners; + private boolean fragmentJustCreatedFromSavedState = false; + private boolean viewJustCreated = false; + private int lastOrientation; private boolean dependenciesInjected = false; /** * @@ -89,7 +89,7 @@ public enum Reason { * @return orientation before last orientation change. */ protected int getLastOrientation() { - return mLastOrientation; + return lastOrientation; } /** @@ -137,12 +137,12 @@ void releaseDependencies() { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mFragmentJustCreatedFromSavedState = savedInstanceState != null; + fragmentJustCreatedFromSavedState = savedInstanceState != null; if(savedInstanceState == null) { - mLastOrientation = getResources().getConfiguration().orientation; + lastOrientation = getResources().getConfiguration().orientation; } else { - mLastOrientation = savedInstanceState.getInt(STATE_LAST_ORIENTATION); + lastOrientation = savedInstanceState.getInt(STATE_LAST_ORIENTATION); } if (getParentFragment() == null) { @@ -178,8 +178,8 @@ final public View onCreateView(LayoutInflater inflater, ViewGroup container, Bun */ @Override final public void onViewCreated(final View view, final Bundle savedInstanceState) { - mEventRegister = new EventRegister(this); - mEventRegister.registerEventBuses(); + eventRegister = new EventRegister(this); + eventRegister.registerEventBuses(); preInvokeCallbackOnViewCreated(view, savedInstanceState); if (!delayOnViewReady) { @@ -201,7 +201,7 @@ void preInvokeCallbackOnViewCreated(final View view, final Bundle savedInstanceS private void doOnViewCreatedCallBack(View view, Bundle savedInstanceState) { int currentOrientation = getResources().getConfiguration().orientation; - boolean orientationChanged = currentOrientation != mLastOrientation; + boolean orientationChanged = currentOrientation != lastOrientation; Reason reason; if (savedInstanceState == null) { if (orientationChanged) { @@ -214,18 +214,18 @@ private void doOnViewCreatedCallBack(View view, Bundle savedInstanceState) { } onViewReady(view, savedInstanceState, reason); - if (mOnViewReadyListeners != null) { - for (Runnable r : mOnViewReadyListeners) { + if (onViewReadyListeners != null) { + for (Runnable r : onViewReadyListeners) { r.run(); } } if (orientationChanged) { - onOrientationChanged(mLastOrientation, getResources().getConfiguration().orientation); + onOrientationChanged(lastOrientation, getResources().getConfiguration().orientation); } - mViewJustCreated = true; - mLastOrientation = currentOrientation; + viewJustCreated = true; + lastOrientation = currentOrientation; } /** @@ -252,15 +252,15 @@ public void onStart() { } private void checkWhetherReturnFromForeground() { - if(mFragmentJustCreatedFromSavedState) { + if(fragmentJustCreatedFromSavedState) { onReturnForeground(); } else { - if(!mViewJustCreated) { + if(!viewJustCreated) { onReturnForeground(); } } - mViewJustCreated = false; - mFragmentJustCreatedFromSavedState = false; + viewJustCreated = false; + fragmentJustCreatedFromSavedState = false; } /** @@ -295,8 +295,8 @@ protected void onOrientationChanged(int lastOrientation, int currentOrientation) @Override public void onDestroyView() { super.onDestroyView(); - mEventRegister.unregisterEventBuses(); - mEventRegister = null; + eventRegister.unregisterEventBuses(); + eventRegister = null; } /** @@ -316,7 +316,7 @@ public void onDestroy() { @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - outState.putInt(STATE_LAST_ORIENTATION, mLastOrientation); + outState.putInt(STATE_LAST_ORIENTATION, lastOrientation); } /** @@ -328,10 +328,10 @@ public void onSaveInstanceState(Bundle outState) { * @param onCreateViewAction The action to register */ public void registerOnViewReadyListener(Runnable onCreateViewAction) { - if (mOnViewReadyListeners == null) { - mOnViewReadyListeners = new CopyOnWriteArrayList<>(); + if (onViewReadyListeners == null) { + onViewReadyListeners = new CopyOnWriteArrayList<>(); } - mOnViewReadyListeners.add(onCreateViewAction); + onViewReadyListeners.add(onCreateViewAction); } /** @@ -340,8 +340,8 @@ public void registerOnViewReadyListener(Runnable onCreateViewAction) { * @param onResumeAction The action to run in onResume callback */ public void unregisterOnViewReadyListener(Runnable onResumeAction) { - if (mOnViewReadyListeners != null) { - mOnViewReadyListeners.remove(onResumeAction); + if (onViewReadyListeners != null) { + onViewReadyListeners.remove(onResumeAction); } } @@ -349,8 +349,8 @@ public void unregisterOnViewReadyListener(Runnable onResumeAction) { * Unregister callbacks that to be called after {@link #onViewReady(View, Bundle, Reason)} */ public void clearOnViewReadyListener() { - if (mOnViewReadyListeners != null) { - mOnViewReadyListeners.clear(); + if (onViewReadyListeners != null) { + onViewReadyListeners.clear(); } } diff --git a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcService.java b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcService.java index 984e2a1..6423189 100644 --- a/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcService.java +++ b/library/android-mvc/src/main/java/com/shipdream/lib/android/mvc/view/MvcService.java @@ -26,7 +26,7 @@ * manage the state of the app. */ public abstract class MvcService extends Service{ - private EventRegister mEventRegister; + private EventRegister eventRegister; /** * Callback of creating a service @@ -39,8 +39,8 @@ public void onCreate() { } catch (PokeException e) { throw new RuntimeException(e); } - mEventRegister = new EventRegister(this); - mEventRegister.registerEventBuses(); + eventRegister = new EventRegister(this); + eventRegister.registerEventBuses(); } /** @@ -49,7 +49,7 @@ public void onCreate() { @Override public void onDestroy() { super.onDestroy(); - mEventRegister.unregisterEventBuses(); + eventRegister.unregisterEventBuses(); AndroidMvc.graph().release(this); } diff --git a/library/poke/src/main/java/com/shipdream/lib/poke/util/ReflectUtils.java b/library/poke/src/main/java/com/shipdream/lib/poke/util/ReflectUtils.java index da98651..d73e2da 100644 --- a/library/poke/src/main/java/com/shipdream/lib/poke/util/ReflectUtils.java +++ b/library/poke/src/main/java/com/shipdream/lib/poke/util/ReflectUtils.java @@ -29,13 +29,13 @@ public class ReflectUtils { * @param */ public static class newObjectByType{ - private Class mClass; + private Class clazz; public newObjectByType(Class cls){ - mClass = cls; + clazz = cls; } public T newInstance() throws IllegalAccessException, InstantiationException { - return mClass.newInstance(); + return clazz.newInstance(); } } diff --git a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/MainFragment.java b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/MainFragment.java index bbf6cf5..e62d694 100644 --- a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/MainFragment.java +++ b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/MainFragment.java @@ -36,7 +36,7 @@ public class MainFragment extends MvcActivity.DelegateFragment { @Inject - AppController mAppController; + AppController appController; private DrawerLayout drawerLayout; private ViewGroup mainContainer; private ViewGroup navContainer; @@ -100,7 +100,7 @@ public void onClick(View v) { switch (reason) { case FIRST_TIME: case RESTORE: - mAppController.notifyOrientationChanged( + appController.notifyOrientationChanged( convertOrientation(Configuration.ORIENTATION_UNDEFINED), convertOrientation(getCurrentOrientation())); break; @@ -109,13 +109,13 @@ public void onClick(View v) { @Override protected void onStartUp() { - mAppController.navigateToInitialLocation(); + appController.navigateToInitialLocation(); } @Override protected void onOrientationChanged(int lastOrientation, int currentOrientation) { super.onOrientationChanged(lastOrientation, currentOrientation); - mAppController.notifyOrientationChanged( + appController.notifyOrientationChanged( convertOrientation(lastOrientation), convertOrientation(currentOrientation)); } diff --git a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/NoteListFragment.java b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/NoteListFragment.java index a791ef2..57b63c6 100644 --- a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/NoteListFragment.java +++ b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/NoteListFragment.java @@ -38,9 +38,9 @@ public class NoteListFragment extends BaseFragment { private Button buttonAddNote; private View emptyView; - private RecyclerView mListView; - private RecyclerView.Adapter mAdapter; - private RecyclerView.LayoutManager mLayoutManager; + private RecyclerView listView; + private RecyclerView.Adapter adapter; + private RecyclerView.LayoutManager layoutManager; private ActionMode actionMode; @Inject @@ -71,9 +71,9 @@ public void onClick(View v) { } }); - mListView = (RecyclerView) view.findViewById(R.id.fragment_note_list_listView); - mLayoutManager = new LinearLayoutManager(getActivity()); - mListView.setLayoutManager(mLayoutManager); + listView = (RecyclerView) view.findViewById(R.id.fragment_note_list_listView); + layoutManager = new LinearLayoutManager(getActivity()); + listView.setLayoutManager(layoutManager); if (reason != Reason.ROTATE) { updateList(); @@ -145,15 +145,15 @@ public void onDestroyActionMode(ActionMode mode) { } private void updateList() { - mAdapter = new NoteAdapter(this); - mListView.setAdapter(mAdapter); + adapter = new NoteAdapter(this); + listView.setAdapter(adapter); - if (mAdapter.getItemCount() > 0) { + if (adapter.getItemCount() > 0) { emptyView.setVisibility(View.GONE); - mListView.setVisibility(View.VISIBLE); + listView.setVisibility(View.VISIBLE); } else { emptyView.setVisibility(View.VISIBLE); - mListView.setVisibility(View.GONE); + listView.setVisibility(View.GONE); } if(actionMode != null && !noteController.inSelectionMode()) { diff --git a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/WeatherListFragment.java b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/WeatherListFragment.java index 11b2635..6b1ae19 100644 --- a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/WeatherListFragment.java +++ b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/fragment/WeatherListFragment.java @@ -41,9 +41,9 @@ public class WeatherListFragment extends BaseFragment { private Button buttonAddWeather; private Button buttonRefresh; private View emptyView; - private RecyclerView mListView; - private RecyclerView.Adapter mAdapter; - private RecyclerView.LayoutManager mLayoutManager; + private RecyclerView listView; + private RecyclerView.Adapter adapter; + private RecyclerView.LayoutManager layoutManager; private ProgressDialog progressDialog; @Inject @@ -77,9 +77,9 @@ public void onClick(View v) { } }); - mListView = (RecyclerView) view.findViewById(R.id.fragment_weather_list_listView); - mLayoutManager = new LinearLayoutManager(getActivity()); - mListView.setLayoutManager(mLayoutManager); + listView = (RecyclerView) view.findViewById(R.id.fragment_weather_list_listView); + layoutManager = new LinearLayoutManager(getActivity()); + listView.setLayoutManager(layoutManager); updateList(); @@ -123,15 +123,15 @@ public void onEvent(WeatherController.EventC2V.OnWeathersUpdateFailed event) { } private void updateList() { - mAdapter = new WeatherAdapter(this); - mListView.setAdapter(mAdapter); + adapter = new WeatherAdapter(this); + listView.setAdapter(adapter); - if (mAdapter.getItemCount() > 0) { + if (adapter.getItemCount() > 0) { emptyView.setVisibility(View.GONE); - mListView.setVisibility(View.VISIBLE); + listView.setVisibility(View.VISIBLE); } else { emptyView.setVisibility(View.VISIBLE); - mListView.setVisibility(View.GONE); + listView.setVisibility(View.GONE); } } diff --git a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/internal/PreferenceServiceImpl.java b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/internal/PreferenceServiceImpl.java index 4125b81..7e0a73d 100644 --- a/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/internal/PreferenceServiceImpl.java +++ b/samples/note/android/src/main/java/com/shipdream/lib/android/mvc/samples/note/view/internal/PreferenceServiceImpl.java @@ -23,92 +23,92 @@ import com.shipdream.lib.android.mvc.samples.note.service.android.PreferenceService; public class PreferenceServiceImpl implements PreferenceService { - private SharedPreferences mPrefs; + private SharedPreferences sharedPreferences; public PreferenceServiceImpl(Context context, String preferenceName, int mode){ - mPrefs = context.getSharedPreferences(preferenceName, mode); + sharedPreferences = context.getSharedPreferences(preferenceName, mode); } @Override public boolean contains(String key) { - return mPrefs.contains(key); + return sharedPreferences.contains(key); } @Override public int getInt(String key, int defaultValue) { - return mPrefs.getInt(key, defaultValue); + return sharedPreferences.getInt(key, defaultValue); } @Override public long getLong(String key, long defaultValue) { - return mPrefs.getLong(key, defaultValue); + return sharedPreferences.getLong(key, defaultValue); } @Override public float getFloat(String key, float defaultValue) { - return mPrefs.getFloat(key, defaultValue); + return sharedPreferences.getFloat(key, defaultValue); } @Override public boolean getBoolean(String key, boolean defaultValue) { - return mPrefs.getBoolean(key, defaultValue); + return sharedPreferences.getBoolean(key, defaultValue); } @Override public String getString(String key, String defaultValue) { - return mPrefs.getString(key, defaultValue); + return sharedPreferences.getString(key, defaultValue); } @Override public Editor edit() { - return new AndroidPreferenceEditor(mPrefs.edit()); + return new AndroidPreferenceEditor(sharedPreferences.edit()); } private static class AndroidPreferenceEditor implements Editor{ - private SharedPreferences.Editor mEditor; + private SharedPreferences.Editor editor; AndroidPreferenceEditor(SharedPreferences.Editor andEditor){ - mEditor = andEditor; + editor = andEditor; } @Override public Editor putInt(String key, int value) { - return new AndroidPreferenceEditor(mEditor.putInt(key, value)); + return new AndroidPreferenceEditor(editor.putInt(key, value)); } @Override public Editor putLong(String key, long value) { - return new AndroidPreferenceEditor(mEditor.putLong(key, value)); + return new AndroidPreferenceEditor(editor.putLong(key, value)); } @Override public Editor putFloat(String key, float value) { - return new AndroidPreferenceEditor(mEditor.putFloat(key, value)); + return new AndroidPreferenceEditor(editor.putFloat(key, value)); } @Override public Editor putBoolean(String key, boolean value) { - return new AndroidPreferenceEditor(mEditor.putBoolean(key, value)); + return new AndroidPreferenceEditor(editor.putBoolean(key, value)); } @Override public Editor putString(String key, String value) { - return new AndroidPreferenceEditor(mEditor.putString(key, value)); + return new AndroidPreferenceEditor(editor.putString(key, value)); } @Override public Editor clear() { - return new AndroidPreferenceEditor(mEditor.clear()); + return new AndroidPreferenceEditor(editor.clear()); } @Override public boolean commit() { - return mEditor.commit(); + return editor.commit(); } @Override public void apply() { - mEditor.apply(); + editor.apply(); } } } diff --git a/samples/note/core/src/main/java/com/shipdream/lib/android/mvc/samples/note/controller/internal/AppControllerImpl.java b/samples/note/core/src/main/java/com/shipdream/lib/android/mvc/samples/note/controller/internal/AppControllerImpl.java index 9103ace..acd95d5 100644 --- a/samples/note/core/src/main/java/com/shipdream/lib/android/mvc/samples/note/controller/internal/AppControllerImpl.java +++ b/samples/note/core/src/main/java/com/shipdream/lib/android/mvc/samples/note/controller/internal/AppControllerImpl.java @@ -29,7 +29,7 @@ public class AppControllerImpl extends BaseControllerImpl implements AppControll private Orientation currentOrientation; @Inject - private NavigationController mNavigationController; + private NavigationController navigationController; @Inject private NoteController noteController; @@ -41,8 +41,8 @@ public Class getModelClassType() { @Override public void navigateToInitialLocation() { - if(mNavigationController.getModel().getCurrentLocation() == null) { - mNavigationController.navigateTo(this, LocId.NOTE_HANDSET_LIST); + if(navigationController.getModel().getCurrentLocation() == null) { + navigationController.navigateTo(this, LocId.NOTE_HANDSET_LIST); } } @@ -67,32 +67,32 @@ public Orientation getCurrentOrientation() { } private void showPortrait() { - NavigationController.Model navModel = mNavigationController.getModel(); + NavigationController.Model navModel = navigationController.getModel(); String curLocId = navModel.getCurrentLocation().getLocationId(); //If we are viewing note, update the navigation history and navigate to proper location if(curLocId.equals(LocId.NOTE_HANDSET_DETAIL) || curLocId.equals(LocId.NOTE_HANDSET_LIST) || curLocId.equals(LocId.NOTE_TABLET_LANDSCAPE)) { //Clear history and go to note list - mNavigationController.navigateTo(this, LocId.NOTE_HANDSET_LIST, null); + navigationController.navigateTo(this, LocId.NOTE_HANDSET_LIST, null); NoteModel noteModel = noteController.getModel(); if(null != noteModel.getViewingNote()) { //Was viewing note details, stack the detail location on top of note list - mNavigationController.navigateTo(this, LocId.NOTE_HANDSET_DETAIL); + navigationController.navigateTo(this, LocId.NOTE_HANDSET_DETAIL); } } } private void showLandscape() { - NavigationController.Model navModel = mNavigationController.getModel(); + NavigationController.Model navModel = navigationController.getModel(); String curLocId = navModel.getCurrentLocation().getLocationId(); //If we are viewing note, use landscape location only and clear history locations if(curLocId.equals(LocId.NOTE_HANDSET_DETAIL) || curLocId.equals(LocId.NOTE_HANDSET_LIST) || curLocId.equals(LocId.NOTE_TABLET_LANDSCAPE)) { //Clear history and go to note landscape location - mNavigationController.navigateTo(this, LocId.NOTE_TABLET_LANDSCAPE, null); + navigationController.navigateTo(this, LocId.NOTE_TABLET_LANDSCAPE, null); } } }