Browse Source

Fixed link handling and navBar buttons crashing the ap, added ripple effect to all clickable items.

pull/24/head
Apostolos Fanakis 8 years ago
parent
commit
8d45d91aff
  1. 16
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
  2. 5
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java
  3. 2
      app/src/main/java/gr/thmmy/mthmmy/base/BaseActivity.java
  4. 12
      app/src/main/res/layout/activity_board_sub_board.xml
  5. 10
      app/src/main/res/layout/activity_board_topic.xml
  6. 13
      app/src/main/res/layout/activity_downloads_row.xml
  7. 4
      app/src/main/res/layout/activity_topic.xml
  8. 12
      app/src/main/res/layout/fragment_latest_posts_row.xml
  9. 2
      app/src/main/res/values/styles.xml

16
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java

@ -326,11 +326,11 @@ public class TopicActivity extends BaseActivity {
public boolean onTouch(View v, MotionEvent event) { public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) { if (event.getAction() == MotionEvent.ACTION_DOWN) {
rect = new Rect(v.getLeft(), v.getTop(), v.getRight(), v.getBottom()); rect = new Rect(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
} else if (event.getAction() == MotionEvent.ACTION_UP && autoIncrement) { } else if (rect != null && event.getAction() == MotionEvent.ACTION_UP && autoIncrement) {
autoIncrement = false; autoIncrement = false;
paginationEnabled(true); paginationEnabled(true);
changePage(pageRequestValue - 1); changePage(pageRequestValue - 1);
} else if (event.getAction() == MotionEvent.ACTION_MOVE) { } else if (rect != null && event.getAction() == MotionEvent.ACTION_MOVE) {
if (!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) { if (!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) {
autoIncrement = false; autoIncrement = false;
decrementPageRequestValue(pageRequestValue - thisPage); decrementPageRequestValue(pageRequestValue - thisPage);
@ -446,7 +446,7 @@ public class TopicActivity extends BaseActivity {
protected Integer doInBackground(String... strings) { protected Integer doInBackground(String... strings) {
Document document; Document document;
base_url = strings[0].substring(0, strings[0].lastIndexOf(".")); //This topic's base url base_url = strings[0].substring(0, strings[0].lastIndexOf(".")); //New topic's base url
String newPageUrl = strings[0]; String newPageUrl = strings[0];
//Finds the index of message focus if present //Finds the index of message focus if present
@ -456,7 +456,7 @@ public class TopicActivity extends BaseActivity {
String tmp = newPageUrl.substring(newPageUrl.indexOf("msg") + 3); String tmp = newPageUrl.substring(newPageUrl.indexOf("msg") + 3);
if (tmp.contains(";")) if (tmp.contains(";"))
postFocus = Integer.parseInt(tmp.substring(0, tmp.indexOf(";"))); postFocus = Integer.parseInt(tmp.substring(0, tmp.indexOf(";")));
else else if (tmp.contains("#"))
postFocus = Integer.parseInt(tmp.substring(0, tmp.indexOf("#"))); postFocus = Integer.parseInt(tmp.substring(0, tmp.indexOf("#")));
} }
} }
@ -477,8 +477,7 @@ public class TopicActivity extends BaseActivity {
} }
} }
} }
if (Objects.equals(loadedPageUrl.substring(base_url.length()) if (Integer.parseInt(newPageUrl.substring(base_url.length() + 1)) / 15 + 1 == thisPage)
, newPageUrl.substring(base_url.length())))
return SAME_PAGE; return SAME_PAGE;
} else topicTitle = null; } else topicTitle = null;
@ -531,6 +530,11 @@ public class TopicActivity extends BaseActivity {
Toast.makeText(getBaseContext(), "Network Error", Toast.LENGTH_SHORT).show(); Toast.makeText(getBaseContext(), "Network Error", Toast.LENGTH_SHORT).show();
break; break;
case SAME_PAGE: case SAME_PAGE:
progressBar.setVisibility(ProgressBar.INVISIBLE);
topicAdapter.customNotifyDataSetChanged(new TopicTask());
if (replyFAB.getVisibility() != View.GONE) replyFAB.setEnabled(true);
paginationEnabled(true);
Toast.makeText(TopicActivity.this, "That's the same page.", Toast.LENGTH_SHORT).show();
//TODO change focus //TODO change focus
break; break;
default: default:

5
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java

@ -556,7 +556,7 @@ class TopicAdapter extends RecyclerView.Adapter<TopicAdapter.MyViewHolder> {
if (target.is(ThmmyPage.PageCategory.TOPIC)) { if (target.is(ThmmyPage.PageCategory.TOPIC)) {
//This url points to a topic //This url points to a topic
//Checks if this is the current topic //Checks if this is the current topic
if (Objects.equals(uriString.substring(0, uriString.lastIndexOf(".")), base_url)) { /*if (Objects.equals(uriString.substring(0, uriString.lastIndexOf(".")), base_url)) {
//Gets uri's targeted message's index number //Gets uri's targeted message's index number
String msgIndexReq = uriString.substring(uriString.indexOf("msg") + 3); String msgIndexReq = uriString.substring(uriString.indexOf("msg") + 3);
if (msgIndexReq.contains("#")) if (msgIndexReq.contains("#"))
@ -571,7 +571,8 @@ class TopicAdapter extends RecyclerView.Adapter<TopicAdapter.MyViewHolder> {
return true; return true;
} }
} }
} }*/
topicTask.execute(uri.toString()); topicTask.execute(uri.toString());
return true; return true;
} else if (target.is(ThmmyPage.PageCategory.BOARD)) { } else if (target.is(ThmmyPage.PageCategory.BOARD)) {

2
app/src/main/java/gr/thmmy/mthmmy/base/BaseActivity.java

@ -515,7 +515,7 @@ public abstract class BaseActivity extends AppCompatActivity {
} }
private boolean matchExists(Bookmark bookmark, ArrayList<Bookmark> array) { private boolean matchExists(Bookmark bookmark, ArrayList<Bookmark> array) {
if (!array.isEmpty()) { if (array != null && !array.isEmpty()) {
for (Bookmark b : array) { for (Bookmark b : array) {
if (b != null) { if (b != null) {
return Objects.equals(b.getId(), bookmark.getId()) return Objects.equals(b.getId(), bookmark.getId())

12
app/src/main/res/layout/activity_board_sub_board.xml

@ -1,11 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/child_board_row"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/card_background" android:background="@color/card_background"
android:orientation="vertical">
<LinearLayout
android:id="@+id/child_board_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:focusable="true"
android:orientation="vertical" android:orientation="vertical"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingRight="16dp"> android:paddingRight="16dp">
@ -31,7 +38,7 @@
android:id="@+id/child_board_expand_collapse_button" android:id="@+id/child_board_expand_collapse_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/card_background" android:background="@null"
android:contentDescription="@string/child_board_button" android:contentDescription="@string/child_board_button"
android:src="@drawable/ic_arrow_drop_down"/> android:src="@drawable/ic_arrow_drop_down"/>
</LinearLayout> </LinearLayout>
@ -77,3 +84,4 @@
android:textSize="12sp"/> android:textSize="12sp"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>

10
app/src/main/res/layout/activity_board_topic.xml

@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/topic_row_linear" android:id="@+id/topic_row_linear"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:focusable="true"
android:orientation="vertical" android:orientation="vertical"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingRight="16dp"> android:paddingRight="16dp">
@ -30,7 +37,7 @@
android:id="@+id/topic_expand_collapse_button" android:id="@+id/topic_expand_collapse_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/background" android:background="@null"
android:contentDescription="@string/child_board_button" android:contentDescription="@string/child_board_button"
android:src="@drawable/ic_arrow_drop_down"/> android:src="@drawable/ic_arrow_drop_down"/>
</LinearLayout> </LinearLayout>
@ -75,3 +82,4 @@
android:textSize="12sp"/> android:textSize="12sp"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>

13
app/src/main/res/layout/activity_downloads_row.xml

@ -5,12 +5,20 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/card_background" android:background="@color/card_background"
android:orientation="vertical">
<LinearLayout
android:id="@+id/download_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:orientation="vertical" android:orientation="vertical"
android:paddingEnd="16dp" android:paddingEnd="16dp"
android:paddingStart="16dp"> android:paddingStart="16dp">
<LinearLayout <LinearLayout
android:id="@+id/download_row"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="5dp" android:layout_marginBottom="5dp"
@ -31,7 +39,7 @@
android:id="@+id/download_information_button" android:id="@+id/download_information_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/card_background" android:background="@null"
android:contentDescription="@string/child_board_button" android:contentDescription="@string/child_board_button"
android:src="@drawable/ic_arrow_drop_down"/> android:src="@drawable/ic_arrow_drop_down"/>
</LinearLayout> </LinearLayout>
@ -63,3 +71,4 @@
android:textColor="@color/secondary_text"/> android:textColor="@color/secondary_text"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>

4
app/src/main/res/layout/activity_topic.xml

@ -60,6 +60,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="0.8" android:layout_weight="0.8"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/button_first" android:contentDescription="@string/button_first"
app:srcCompat="@drawable/page_first"/> app:srcCompat="@drawable/page_first"/>
@ -68,6 +69,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="0.8" android:layout_weight="0.8"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/button_previous" android:contentDescription="@string/button_previous"
app:srcCompat="@drawable/page_previous"/> app:srcCompat="@drawable/page_previous"/>
@ -88,6 +90,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="0.8" android:layout_weight="0.8"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/button_next" android:contentDescription="@string/button_next"
app:srcCompat="@drawable/page_next"/> app:srcCompat="@drawable/page_next"/>
@ -96,6 +99,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="0.8" android:layout_weight="0.8"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/button_last" android:contentDescription="@string/button_last"
app:srcCompat="@drawable/page_last"/> app:srcCompat="@drawable/page_last"/>
</LinearLayout> </LinearLayout>

12
app/src/main/res/layout/fragment_latest_posts_row.xml

@ -1,12 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout <FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/card_background">
<RelativeLayout
android:id="@+id/latest_posts_row" android:id="@+id/latest_posts_row"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/card_background" android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:foreground="?android:attr/selectableItemBackground" android:focusable="true"
android:paddingBottom="6dp" android:paddingBottom="6dp"
android:paddingLeft="10dp" android:paddingLeft="10dp"
android:paddingRight="10dp" android:paddingRight="10dp"
@ -53,3 +58,4 @@
android:text="@string/post"/> android:text="@string/post"/>
</FrameLayout> </FrameLayout>
</RelativeLayout> </RelativeLayout>
</FrameLayout>

2
app/src/main/res/values/styles.xml

@ -42,6 +42,4 @@
<item name="android:textColorPrimary">@color/primary_text</item> <item name="android:textColorPrimary">@color/primary_text</item>
<item name="android:colorBackground">@color/dialog_bg_semi_transparent</item> <item name="android:colorBackground">@color/dialog_bg_semi_transparent</item>
</style> </style>
</resources> </resources>

Loading…
Cancel
Save