diff --git a/.gitignore b/.gitignore
index 624a5b6..25bfa77 100755
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ libs/AndroidPushRefresh/bin/
libs/AndroidPushRefresh/gen/
libs/ViewPagerIndicator/bin/
libs/ViewPagerIndicator/gen/
+server.properties
diff --git a/code/assets/server.properties.example b/code/assets/server.properties.example
new file mode 100644
index 0000000..9aeb029
--- /dev/null
+++ b/code/assets/server.properties.example
@@ -0,0 +1,4 @@
+#Modelo para server.properties. Faça uma cópia deste arquivo no mesmo diretório(assets),
+#renomeie-o para server.properties, e adicione as informações corretas do servidor.
+ip_address=192.168.168.168
+port=3000
\ No newline at end of file
diff --git a/code/project.properties b/code/project.properties
index 27e68c6..7368482 100644
--- a/code/project.properties
+++ b/code/project.properties
@@ -11,7 +11,7 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
-target=android-16
+target=android-21
android.library.reference.1=../libs/redu-android
android.library.reference.2=../libs/ViewPagerIndicator
android.library.reference.3=../libs/AndroidPushRefresh
diff --git a/code/res/values/strings.xml b/code/res/values/strings.xml
index 19f9084..83a40f5 100644
--- a/code/res/values/strings.xml
+++ b/code/res/values/strings.xml
@@ -26,5 +26,6 @@
new_lectures
Novas Aulas
Novas Aulas nas Disciplinas que participo
+ Arquivo server.properties inexistente ou incorretamente configurado.
\ No newline at end of file
diff --git a/code/src/br/com/redu/redumobile/activities/HomeActivity.java b/code/src/br/com/redu/redumobile/activities/HomeActivity.java
index f35ab60..c733dba 100644
--- a/code/src/br/com/redu/redumobile/activities/HomeActivity.java
+++ b/code/src/br/com/redu/redumobile/activities/HomeActivity.java
@@ -22,6 +22,7 @@
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
+import br.com.developer.redu.http.ServerInfo;
import br.com.redu.redumobile.R;
import br.com.redu.redumobile.ReduApplication;
import br.com.redu.redumobile.data.LoadStatusesFromWebTask;
@@ -110,12 +111,16 @@ public void onItemClick(AdapterView> parent, View view, int position,
case 1:
i = new Intent(getApplicationContext(), WebViewActivity.class);
i.putExtra(WebViewActivity.EXTRAS_TITLE, "Termos de Uso");
- i.putExtra(WebViewActivity.EXTRAS_URL, "http://www.redu.com.br/paginas/termos_uso");
+ i.putExtra(WebViewActivity.EXTRAS_URL, String.format(
+ "http://%s:%s/paginas/termos_uso",
+ ServerInfo.getIpAddress(), ServerInfo.getPort()));
break;
case 2:
i = new Intent(getApplicationContext(), WebViewActivity.class);
i.putExtra(WebViewActivity.EXTRAS_TITLE, "Política de Privacidade");
- i.putExtra(WebViewActivity.EXTRAS_URL, "http://www.redu.com.br/paginas/politica_privacidade");
+ i.putExtra(WebViewActivity.EXTRAS_URL, String.format(
+ "http://%s:%s/paginas/politica_privacidade",
+ ServerInfo.getIpAddress(), ServerInfo.getPort()));
break;
case 3:
i = new Intent(getApplicationContext(), LoginWebViewActivity.class);
diff --git a/code/src/br/com/redu/redumobile/activities/LoginWebViewActivity.java b/code/src/br/com/redu/redumobile/activities/LoginWebViewActivity.java
index 6eae510..f4f38d9 100644
--- a/code/src/br/com/redu/redumobile/activities/LoginWebViewActivity.java
+++ b/code/src/br/com/redu/redumobile/activities/LoginWebViewActivity.java
@@ -7,7 +7,9 @@
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import android.widget.Toast;
import br.com.developer.redu.DefaultReduClient;
+import br.com.developer.redu.http.ServerInfo;
import br.com.developer.redu.models.User;
import br.com.redu.redumobile.R;
import br.com.redu.redumobile.ReduApplication;
@@ -23,43 +25,61 @@ public class LoginWebViewActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if(PinCodeHelper.has(this)) {
- startActivity(new Intent(this, HomeActivity.class));
+ if (!ServerInfo.init(this)) {
+ Toast.makeText(this, R.string.error_server_file, Toast.LENGTH_LONG)
+ .show();
finish();
} else {
- setContentView(R.layout.activity_login_web);
-
- mWebView = (WebView) findViewById(R.id.webview);
- mWebView.getSettings().setJavaScriptEnabled(true);
- mWebView.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
-
- mWebView.setWebViewClient(new WebViewClient() {
- @Override
- public void onPageStarted(WebView view, String url, Bitmap favicon) {
- if (url.equals("http://www.redu.com.br/oauth/authorize")) {
- showProgressDialog("Aguarde alguns instantes enquanto você é redirecionado ao aplicativo Redu Mobile…", false);
+ if (PinCodeHelper.has(this)) {
+ startActivity(new Intent(this, HomeActivity.class));
+ finish();
+ } else {
+ setContentView(R.layout.activity_login_web);
+
+ mWebView = (WebView) findViewById(R.id.webview);
+ mWebView.getSettings().setJavaScriptEnabled(true);
+ mWebView.addJavascriptInterface(new MyJavaScriptInterface(),
+ "HTMLOUT");
+
+ mWebView.setWebViewClient(new WebViewClient() {
+ @Override
+ public void onPageStarted(WebView view, String url,
+ Bitmap favicon) {
+ if (url.equals(String.format(
+ "http://%s:%s/oauth/authorize",
+ ServerInfo.getIpAddress(), ServerInfo.getPort()))) {
+ showProgressDialog(
+ "Aguarde alguns instantes enquanto você é redirecionado ao aplicativo Redu Mobile…",
+ false);
+ }
}
- }
- @Override
- public void onPageFinished(WebView view, String url) {
- // This call inject JavaScript into the page which just finished loading.
- if (url.equals("http://www.redu.com.br/oauth/authorize")) {
- mWebView.loadUrl("javascript:window.HTMLOUT.processHTML(document.getElementsByTagName('code')[0].innerHTML);");
+
+ @Override
+ public void onPageFinished(WebView view, String url) {
+ // This call inject JavaScript into the page which just
+ // finished loading.
+ if (url.equals(String.format(
+ "http://%s:%s/oauth/authorize",
+ ServerInfo.getIpAddress(), ServerInfo.getPort()))) {
+ mWebView.loadUrl("javascript:window.HTMLOUT.processHTML(document.getElementsByTagName('code')[0].innerHTML);");
+ }
}
- }
- });
-
- new AsyncTask() {
- @Override
- protected String doInBackground(Void... params) {
- DefaultReduClient client = ReduApplication.getReduClient(LoginWebViewActivity.this);
- return client.getAuthorizeUrl();
- }
- @Override
- protected void onPostExecute(String authorizeUrl) {
- mWebView.loadUrl(authorizeUrl);
- }
- }.execute();
+ });
+
+ new AsyncTask() {
+ @Override
+ protected String doInBackground(Void... params) {
+ DefaultReduClient client = ReduApplication
+ .getReduClient(LoginWebViewActivity.this);
+ return client.getAuthorizeUrl();
+ }
+
+ @Override
+ protected void onPostExecute(String authorizeUrl) {
+ mWebView.loadUrl(authorizeUrl);
+ }
+ }.execute();
+ }
}
}
diff --git a/code/src/br/com/redu/redumobile/db/DbHelper.java b/code/src/br/com/redu/redumobile/db/DbHelper.java
index b3b2c9f..5ce8325 100644
--- a/code/src/br/com/redu/redumobile/db/DbHelper.java
+++ b/code/src/br/com/redu/redumobile/db/DbHelper.java
@@ -11,6 +11,7 @@
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
+import br.com.developer.redu.http.ServerInfo;
import br.com.developer.redu.models.Link;
import br.com.developer.redu.models.Status;
import br.com.developer.redu.models.Thumbnail;
@@ -264,14 +265,17 @@ synchronized public List getStatusesBySpace(long timestamp, boolean olde
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor;
- String query = "SELECT * FROM " + StatusTable.NAME +
- " WHERE " + StatusTable.COLUMN_CREATED_AT_IN_MILLIS + (olderThan ? "<" : ">") + timestamp + " AND " +
- StatusTable.COLUMN_ID + " IN " +
- "(SELECT " + LinkTable.COLUMN_STATUS_ID + " FROM " + LinkTable.NAME +
- " WHERE " + LinkTable.COLUMN_REL + " = \"" + Link.REL_SPACE + "\" AND " +
- LinkTable.COLUMN_HREF + " = " + "\"http://www.redu.com.br/api/spaces/" + spaceId + "\")" +
- " ORDER BY " + StatusTable.COLUMN_CREATED_AT_IN_MILLIS + " DESC" +
- " LIMIT " + count;
+ String query = "SELECT * FROM " + StatusTable.NAME + " WHERE "
+ + StatusTable.COLUMN_CREATED_AT_IN_MILLIS
+ + (olderThan ? "<" : ">") + timestamp + " AND "
+ + StatusTable.COLUMN_ID + " IN " + "(SELECT "
+ + LinkTable.COLUMN_STATUS_ID + " FROM " + LinkTable.NAME
+ + " WHERE " + LinkTable.COLUMN_REL + " = \"" + Link.REL_SPACE
+ + "\" AND " + LinkTable.COLUMN_HREF + " = " + "\"http://"
+ + ServerInfo.getIpAddress() + ":" + ServerInfo.getPort()
+ + "/api/spaces/" + spaceId + "\")" + " ORDER BY "
+ + StatusTable.COLUMN_CREATED_AT_IN_MILLIS + " DESC" + " LIMIT "
+ + count;
cursor = db.rawQuery(query, null);
@@ -291,15 +295,18 @@ synchronized public List getStatusesByLecture(long timestamp, boolean ol
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor;
-
- String query = "SELECT * FROM " + StatusTable.NAME +
- " WHERE " + StatusTable.COLUMN_CREATED_AT_IN_MILLIS + (olderThan ? "<" : ">") + timestamp + " AND " +
- StatusTable.COLUMN_ID + " IN " +
- "(SELECT " + LinkTable.COLUMN_STATUS_ID + " FROM " + LinkTable.NAME +
- " WHERE " + LinkTable.COLUMN_REL + " = \"" + Link.REL_LECTURE + "\" AND " +
- LinkTable.COLUMN_HREF + " LIKE " + "\"http://www.redu.com.br/api/lectures/" + lectureId + "%\")" +
- "ORDER BY " + StatusTable.COLUMN_CREATED_AT_IN_MILLIS + " DESC " +
- "LIMIT " + count;
+
+ String query = "SELECT * FROM " + StatusTable.NAME + " WHERE "
+ + StatusTable.COLUMN_CREATED_AT_IN_MILLIS
+ + (olderThan ? "<" : ">") + timestamp + " AND "
+ + StatusTable.COLUMN_ID + " IN " + "(SELECT "
+ + LinkTable.COLUMN_STATUS_ID + " FROM " + LinkTable.NAME
+ + " WHERE " + LinkTable.COLUMN_REL + " = \"" + Link.REL_LECTURE
+ + "\" AND " + LinkTable.COLUMN_HREF + " LIKE " + "\"http://"
+ + ServerInfo.getIpAddress() + ":" + ServerInfo.getPort()
+ + "/api/lectures/" + lectureId + "%\")" + "ORDER BY "
+ + StatusTable.COLUMN_CREATED_AT_IN_MILLIS + " DESC " + "LIMIT "
+ + count;
cursor = db.rawQuery(query, null);
diff --git a/libs/AndroidPushRefresh/project.properties b/libs/AndroidPushRefresh/project.properties
index acfc74e..b756f44 100644
--- a/libs/AndroidPushRefresh/project.properties
+++ b/libs/AndroidPushRefresh/project.properties
@@ -8,5 +8,5 @@
# project structure.
# Project target.
-target=android-16
+target=android-21
android.library=true
diff --git a/libs/ViewPagerIndicator/project.properties b/libs/ViewPagerIndicator/project.properties
index 616f300..ca81324 100644
--- a/libs/ViewPagerIndicator/project.properties
+++ b/libs/ViewPagerIndicator/project.properties
@@ -9,4 +9,4 @@
android.library=true
# Project target.
-target=android-16
+target=android-21
diff --git a/libs/WebCachedImageView/code/project.properties b/libs/WebCachedImageView/code/project.properties
index 484dab0..93c8c3c 100644
--- a/libs/WebCachedImageView/code/project.properties
+++ b/libs/WebCachedImageView/code/project.properties
@@ -11,5 +11,5 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
-target=android-17
+target=android-21
android.library=true
diff --git a/libs/redu-android b/libs/redu-android
index b0e2fbe..c605d25 160000
--- a/libs/redu-android
+++ b/libs/redu-android
@@ -1 +1 @@
-Subproject commit b0e2fbeaccd61288d9111643c33e67532bd7e4c0
+Subproject commit c605d25cd5a149c643d6b7dc8b157f2220e50b23