diff options
-rw-r--r-- | .idea/gradle.xml | 7 | ||||
-rw-r--r-- | .idea/runConfigurations.xml | 12 | ||||
-rw-r--r-- | SmileEssence.iml | 3 | ||||
-rw-r--r-- | app/app.iml | 24 | ||||
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java | 2 | ||||
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/entity/Account.java | 4 | ||||
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java | 2 | ||||
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/viewmodel/CheckBoxModel.java | 64 | ||||
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java | 22 | ||||
-rw-r--r-- | app/src/main/res/layout/menu_item_checkbox.xml | 36 | ||||
-rw-r--r-- | build.gradle | 4 |
11 files changed, 61 insertions, 119 deletions
diff --git a/.idea/gradle.xml b/.idea/gradle.xml index c3bf4f76..df527ea6 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,19 +5,12 @@ <GradleProjectSettings> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> - <option name="gradleJvm" value="1.8" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$/app" /> </set> </option> - <option name="myModules"> - <set> - <option value="$PROJECT_DIR$" /> - <option value="$PROJECT_DIR$/app" /> - </set> - </option> </GradleProjectSettings> </option> </component> diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460d..00000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="RunConfigurationProducerService"> - <option name="ignoredProducers"> - <set> - <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> - <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> - <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> - </set> - </option> - </component> -</project>
\ No newline at end of file diff --git a/SmileEssence.iml b/SmileEssence.iml index c4c6289f..1cdaae24 100644 --- a/SmileEssence.iml +++ b/SmileEssence.iml @@ -4,11 +4,10 @@ <facet type="java-gradle" name="Java-Gradle"> <configuration> <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" /> - <option name="BUILDABLE" value="false" /> </configuration> </facet> </component> - <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="true"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> <content url="file://$MODULE_DIR$"> <excludeFolder url="file://$MODULE_DIR$/.gradle" /> </content> diff --git a/app/app.iml b/app/app.iml index 04b642c5..d469eb1d 100644 --- a/app/app.iml +++ b/app/app.iml @@ -13,11 +13,8 @@ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" /> - <option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" /> - <afterSyncTasks> - <task>generateDebugAndroidTestSources</task> - <task>generateDebugSources</task> - </afterSyncTasks> + <option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" /> + <option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" /> <option name="ALLOW_USER_CONFIGURATION" value="false" /> <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> @@ -26,7 +23,7 @@ </configuration> </facet> </component> - <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false"> + <component name="NewModuleRootManager" inherit-compiler-output="false"> <output url="file://$MODULE_DIR$/build/retrolambda/debug" /> <output-test url="file://$MODULE_DIR$/build/retrolambda/debugAndroidTest" /> <content url="file://$MODULE_DIR$"> @@ -72,12 +69,6 @@ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.databinding/library/1.0-rc1/jars" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v13/23.0.1/jars" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.0.1/jars" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mcxiaoke.volley/library/1.0.19/jars" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.navercorp.pulltorefresh/library/3.3.0-SNAPSHOT/jars" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/de.keyboardsurfer.android.widget/crouton/1.8.5/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" /> @@ -90,7 +81,6 @@ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> - <excludeFolder url="file://$MODULE_DIR$/build/layout-info" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/retrolambda" /> <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> @@ -98,8 +88,8 @@ <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" exported="" name="kotlin-runtime-0.12.613" level="project" /> - <orderEntry type="library" exported="" name="library-1.0.19" level="project" /> <orderEntry type="library" exported="" name="commons-io-2.4" level="project" /> + <orderEntry type="library" exported="" name="library-1.0.18" level="project" /> <orderEntry type="library" exported="" name="guava-19.0-rc1" level="project" /> <orderEntry type="library" exported="" name="library-3.3.0-SNAPSHOT" level="project" /> <orderEntry type="library" exported="" name="antlr4-4.5" level="project" /> @@ -111,9 +101,9 @@ <orderEntry type="library" exported="" name="library-1.0-rc1" level="project" /> <orderEntry type="library" exported="" name="org.abego.treelayout.core-1.0.1" level="project" /> <orderEntry type="library" exported="" name="support-v4-23.0.1" level="project" /> - <orderEntry type="library" exported="" name="compilerCommon-1.0-rc1" level="project" /> - <orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" /> <orderEntry type="library" exported="" name="adapters-1.0-rc1" level="project" /> + <orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" /> + <orderEntry type="library" exported="" name="compilerCommon-1.0-rc1" level="project" /> <orderEntry type="library" exported="" name="compiler-1.0-rc1" level="project" /> <orderEntry type="library" exported="" name="baseLibrary-1.0-rc1" level="project" /> <orderEntry type="library" exported="" name="twitter-text-1.13.0" level="project" /> @@ -122,8 +112,8 @@ <orderEntry type="library" exported="" name="twitter4j-media-support-4.0.4" level="project" /> <orderEntry type="library" exported="" name="commons-codec-1.10" level="project" /> <orderEntry type="library" exported="" name="support-v13-23.0.1" level="project" /> - <orderEntry type="library" exported="" name="kotlin-stdlib-0.12.613" level="project" /> <orderEntry type="library" exported="" name="commons-lang3-3.3.2" level="project" /> + <orderEntry type="library" exported="" name="kotlin-stdlib-0.12.613" level="project" /> <orderEntry type="library" exported="" name="twitter4j-core-4.0.4" level="project" /> </component> </module>
\ No newline at end of file diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java index ad19ae61..13c21d0f 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java @@ -106,7 +106,7 @@ public class EditCommandActivity extends Activity { @Override protected void onDestroy() { for (int i = 0; i < adapter.getCount(); i++) { - CheckBoxModel checkBoxModel = adapter.getItem(i); + CheckBoxModel checkBoxModel = (CheckBoxModel) adapter.getItem(i); Command command = editedCommands.get(i); CommandSetting.setVisible(command.getKey(), checkBoxModel.isChecked()); } diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/Account.java b/app/src/main/java/net/lacolaco/smileessence/entity/Account.java index 99a78a5a..d5cc6b1b 100644 --- a/app/src/main/java/net/lacolaco/smileessence/entity/Account.java +++ b/app/src/main/java/net/lacolaco/smileessence/entity/Account.java @@ -140,7 +140,7 @@ public class Account extends Model { } } - public void fetchTweet(long statusId, boolean forceRetrieve, Consumer<Tweet> callback) { + public void fetchTweet(long statusId, Consumer<Tweet> callback, boolean forceRetrieve) { Tweet tweet = Tweet.fetch(statusId); if (forceRetrieve || tweet == null) { new ShowStatusTask(getTwitter(), statusId) { @@ -154,7 +154,7 @@ public class Account extends Model { } } public void fetchTweet(long statusId, Consumer<Tweet> callback) { - fetchTweet(statusId, false, callback); + fetchTweet(statusId, callback, false); } public TwitterTask<Tweet> tryGetStatus(long statusID, final StatusCallback callback) { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java index bfdacce8..16691238 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java @@ -82,7 +82,7 @@ public class CustomListAdapter<T extends IViewModel> extends BaseAdapter { // --------------------- Interface Adapter --------------------- @Override - public T getItem(int position) { + public Object getItem(int position) { return frozenList.get(position); } diff --git a/app/src/main/java/net/lacolaco/smileessence/viewmodel/CheckBoxModel.java b/app/src/main/java/net/lacolaco/smileessence/viewmodel/CheckBoxModel.java index 015f206f..08b3ad7e 100644 --- a/app/src/main/java/net/lacolaco/smileessence/viewmodel/CheckBoxModel.java +++ b/app/src/main/java/net/lacolaco/smileessence/viewmodel/CheckBoxModel.java @@ -25,37 +25,35 @@ package net.lacolaco.smileessence.viewmodel; import android.app.Activity; -import android.databinding.*; import android.view.LayoutInflater; -import android.view.MenuItem; import android.view.View; import android.widget.CheckBox; import android.widget.CompoundButton; -import net.lacolaco.smileessence.BR; import net.lacolaco.smileessence.R; -import net.lacolaco.smileessence.databinding.MenuItemCheckboxBinding; public class CheckBoxModel implements IViewModel { // ------------------------------ FIELDS ------------------------------ - private final CheckedState state; + private final String text; + private boolean checked; // --------------------------- CONSTRUCTORS --------------------------- - public CheckBoxModel(String _text, boolean _checked) { - state = new CheckedState(_text, _checked); + public CheckBoxModel(String text, boolean isChecked) { + this.text = text; + checked = isChecked; } // --------------------- GETTER / SETTER METHODS --------------------- public boolean isChecked() { - return state.isChecked(); + return checked; } - public void setChecked(boolean _checked) { - state.setChecked(_checked); + public void setChecked(boolean checked) { + this.checked = checked; } // ------------------------ INTERFACE METHODS ------------------------ @@ -66,43 +64,17 @@ public class CheckBoxModel implements IViewModel { @Override public View getView(Activity activity, LayoutInflater inflater, View convertedView) { if (convertedView == null) { - MenuItemCheckboxBinding binding = MenuItemCheckboxBinding.inflate(inflater, null, false); - convertedView = binding.getRoot(); - convertedView.setTag(binding); + convertedView = inflater.inflate(R.layout.menu_item_checkbox, null); } - - MenuItemCheckboxBinding binding = (MenuItemCheckboxBinding) convertedView.getTag(); - binding.setCheckedState(state); + CheckBox checkBox = (CheckBox) convertedView.findViewById(R.id.checkBox_menuItem); + checkBox.setText(this.text); + checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + CheckBoxModel.this.checked = isChecked; + } + }); + checkBox.setChecked(checked); return convertedView; } - - public static class CheckedState extends BaseObservable { - private String text; - private boolean checked; - - CheckedState(String _text, boolean _checked) { - text = _text; - checked = _checked; - } - - @Bindable - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - notifyPropertyChanged(BR.text); - } - - @Bindable - public boolean isChecked() { - return checked; - } - - public void setChecked(boolean checked) { - this.checked = checked; - notifyPropertyChanged(BR.checked); - } - } } diff --git a/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java b/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java index 5f1f2e8c..b6c640b5 100644 --- a/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java +++ b/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java @@ -96,10 +96,13 @@ public class MessageViewModel implements IViewModel { int theme = ((MainActivity) activity).getThemeIndex(); NetworkImageView icon = (NetworkImageView) convertedView.findViewById(R.id.imageview_status_icon); ImageCache.getInstance().setImageToView(directMessage.getSender().getProfileImageUrl(), icon); - icon.setOnClickListener(v -> { - UserDetailDialogFragment dialogFragment = new UserDetailDialogFragment(); - dialogFragment.setUserID(directMessage.getSender().getId()); - DialogHelper.showDialog(activity, dialogFragment); + icon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + UserDetailDialogFragment dialogFragment = new UserDetailDialogFragment(); + dialogFragment.setUserID(directMessage.getSender().getId()); + DialogHelper.showDialog(activity, dialogFragment); + } }); TextView header = (TextView) convertedView.findViewById(R.id.textview_status_header); header.setTextSize(textSize); @@ -120,10 +123,13 @@ public class MessageViewModel implements IViewModel { favorited.setVisibility(View.GONE); int colorBgMessage = Themes.getStyledColor(activity, theme, R.attr.color_message_bg_normal, 0); convertedView.setBackgroundColor(colorBgMessage); - convertedView.setOnClickListener(new ListItemClickListener(activity, () -> { - MessageDetailDialogFragment dialogFragment = new MessageDetailDialogFragment(); - dialogFragment.setMessageID(directMessage.getId()); - DialogHelper.showDialog(activity, dialogFragment); + convertedView.setOnClickListener(new ListItemClickListener(activity, new Runnable() { + @Override + public void run() { + MessageDetailDialogFragment dialogFragment = new MessageDetailDialogFragment(); + dialogFragment.setMessageID(directMessage.getId()); + DialogHelper.showDialog(activity, dialogFragment); + } })); return convertedView; } diff --git a/app/src/main/res/layout/menu_item_checkbox.xml b/app/src/main/res/layout/menu_item_checkbox.xml index e4c48ebd..baea3bfa 100644 --- a/app/src/main/res/layout/menu_item_checkbox.xml +++ b/app/src/main/res/layout/menu_item_checkbox.xml @@ -23,25 +23,19 @@ ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ~ SOFTWARE. --> -<layout xmlns:android="http://schemas.android.com/apk/res/android"> - <data> - <variable name="checkedState" type="net.lacolaco.smileessence.viewmodel.CheckBoxModel.CheckedState" /> - </data> - <FrameLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="?android:attr/activatedBackgroundIndicator" - android:orientation="vertical"> - <CheckBox - android:id="@+id/checkBox_menuItem" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginBottom="16dp" - android:layout_marginTop="16dp" - android:paddingLeft="10dp" - android:checked="@{checkedState.checked}" - android:text="@{checkedState.text}" - android:textAppearance="?android:attr/textAppearanceMedium" /> - </FrameLayout> -</layout>
\ No newline at end of file +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="?android:attr/activatedBackgroundIndicator" + android:orientation="vertical"> + + <CheckBox + android:id="@+id/checkBox_menuItem" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="16dp" + android:layout_marginTop="16dp" + android:paddingLeft="10dp" + android:textAppearance="?android:attr/textAppearanceMedium" /> +</FrameLayout>
\ No newline at end of file diff --git a/build.gradle b/build.gradle index 8f71995c..6b62d3ac 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,8 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:1.3.+' - classpath 'com.android.databinding:dataBinder:1.+' + classpath 'com.android.tools.build:gradle:+' + classpath 'com.android.databinding:dataBinder:+' classpath 'me.tatarka:gradle-retrolambda:+' } } |