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