|
|
@ -1,11 +1,16 @@ |
|
|
|
package gr.thmmy.mthmmy.activities.board; |
|
|
|
|
|
|
|
import android.content.DialogInterface; |
|
|
|
import android.content.Intent; |
|
|
|
import android.os.AsyncTask; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.support.design.widget.FloatingActionButton; |
|
|
|
import android.support.v7.app.AlertDialog; |
|
|
|
import android.support.v7.widget.DividerItemDecoration; |
|
|
|
import android.support.v7.widget.LinearLayoutManager; |
|
|
|
import android.support.v7.widget.RecyclerView; |
|
|
|
import android.support.v7.widget.Toolbar; |
|
|
|
import android.view.View; |
|
|
|
import android.widget.ProgressBar; |
|
|
|
import android.widget.Toast; |
|
|
|
|
|
|
@ -20,6 +25,7 @@ import java.util.Objects; |
|
|
|
import javax.net.ssl.SSLHandshakeException; |
|
|
|
|
|
|
|
import gr.thmmy.mthmmy.R; |
|
|
|
import gr.thmmy.mthmmy.activities.LoginActivity; |
|
|
|
import gr.thmmy.mthmmy.activities.base.BaseActivity; |
|
|
|
import gr.thmmy.mthmmy.model.Board; |
|
|
|
import gr.thmmy.mthmmy.model.Topic; |
|
|
@ -44,6 +50,7 @@ public class BoardActivity extends BaseActivity implements BoardAdapter.OnLoadMo |
|
|
|
public static final String BUNDLE_BOARD_TITLE = "BOARD_TITLE"; |
|
|
|
|
|
|
|
private MaterialProgressBar progressBar; |
|
|
|
private FloatingActionButton newTopicFAB; |
|
|
|
private BoardTask boardTask; |
|
|
|
|
|
|
|
private BoardAdapter boardAdapter; |
|
|
@ -79,6 +86,38 @@ public class BoardActivity extends BaseActivity implements BoardAdapter.OnLoadMo |
|
|
|
} |
|
|
|
|
|
|
|
createDrawer(); |
|
|
|
progressBar = (MaterialProgressBar) findViewById(R.id.progressBar); |
|
|
|
newTopicFAB = (FloatingActionButton) findViewById(R.id.board_fab); |
|
|
|
newTopicFAB.setEnabled(false); |
|
|
|
if (!sessionManager.isLoggedIn()) newTopicFAB.hide(); |
|
|
|
else { |
|
|
|
newTopicFAB.setOnClickListener(new View.OnClickListener() { |
|
|
|
@Override |
|
|
|
public void onClick(View view) { |
|
|
|
if (sessionManager.isLoggedIn()) { |
|
|
|
//TODO PM
|
|
|
|
} else { |
|
|
|
new AlertDialog.Builder(BoardActivity.this) |
|
|
|
.setMessage("You need to be logged in to create a new topic!") |
|
|
|
.setPositiveButton("Login", new DialogInterface.OnClickListener() { |
|
|
|
@Override |
|
|
|
public void onClick(DialogInterface dialogInterface, int i) { |
|
|
|
Intent intent = new Intent(BoardActivity.this, LoginActivity.class); |
|
|
|
startActivity(intent); |
|
|
|
finish(); |
|
|
|
overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out); |
|
|
|
} |
|
|
|
}) |
|
|
|
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { |
|
|
|
@Override |
|
|
|
public void onClick(DialogInterface dialogInterface, int i) { |
|
|
|
} |
|
|
|
}) |
|
|
|
.show(); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
boardAdapter = new BoardAdapter(getApplicationContext(), parsedSubBoards, parsedTopics); |
|
|
|
RecyclerView mainContent = (RecyclerView) findViewById(R.id.board_recycler_view); |
|
|
@ -103,8 +142,6 @@ public class BoardActivity extends BaseActivity implements BoardAdapter.OnLoadMo |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
progressBar = (MaterialProgressBar) findViewById(R.id.progressBar); |
|
|
|
|
|
|
|
boardTask = new BoardTask(); |
|
|
|
boardTask.execute(boardUrl); |
|
|
|
} |
|
|
@ -143,6 +180,7 @@ public class BoardActivity extends BaseActivity implements BoardAdapter.OnLoadMo |
|
|
|
|
|
|
|
protected void onPreExecute() { |
|
|
|
if (!isLoadingMore) progressBar.setVisibility(ProgressBar.VISIBLE); |
|
|
|
if (newTopicFAB.getVisibility() != View.GONE) newTopicFAB.setEnabled(false); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -168,8 +206,9 @@ public class BoardActivity extends BaseActivity implements BoardAdapter.OnLoadMo |
|
|
|
, "Fatal error!\n Aborting...", Toast.LENGTH_LONG).show(); |
|
|
|
finish(); |
|
|
|
} |
|
|
|
++pagesLoaded; |
|
|
|
//Parse was successful
|
|
|
|
++pagesLoaded; |
|
|
|
if (newTopicFAB.getVisibility() != View.GONE) newTopicFAB.setEnabled(true); |
|
|
|
progressBar.setVisibility(ProgressBar.INVISIBLE); |
|
|
|
boardAdapter.notifyDataSetChanged(); |
|
|
|
isLoadingMore = false; |
|
|
|