Added function to publish new notices(yellow notes).

This commit is contained in:
Helena Rodriguez 2012-03-26 12:28:12 +02:00
parent d0030434a2
commit 428ae5d7c6
8 changed files with 555 additions and 170 deletions

View File

@ -25,9 +25,9 @@
<activity android:label="@string/testsModuleLabel" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".modules.tests.TestsQuestionsDownload"><activity android:label="@string/testsModuleLabel" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".modules.tests.TestsQuestionsDownload"></activity></activity>
<activity android:name=".modules.tests.TestsConfigDownload" android:label="@string/testsModuleLabel" android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity><activity android:theme="@android:style/Theme.NoTitleBar" android:label="@string/testsModuleLabel" android:configChanges="orientation" android:name=".modules.tests.TestsMake"></activity>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".modules.Messages" android:label="@string/messagesModuleLabel" android:configChanges="keyboard|keyboardHidden|orientation"></activity>
<activity android:name=".modules.notifications.NotificationItem" android:theme="@android:style/Theme.NoTitleBar" android:label="@string/notificationsModuleLabel"></activity>
<activity android:name=".modules.notifications.NotificationItem" android:theme="@android:style/Theme.NoTitleBar" android:label="@string/notificationsModuleLabel"></activity>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".modules.Notices" android:label="@string/noticesModuleLabel" android:configChanges="keyboard|keyboardHidden|orientation"></activity>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

View File

@ -68,24 +68,24 @@ public final class R {
}
public static final class id {
public static final int actionBarLayout=0x7f090000;
public static final int clean_database_menu=0x7f09003d;
public static final int contentWebView=0x7f090022;
public static final int courseNameText=0x7f090020;
public static final int decrement=0x7f09001e;
public static final int eventContent=0x7f090017;
public static final int eventDate=0x7f090013;
public static final int eventLocation=0x7f090019;
public static final int eventMetaData=0x7f090011;
public static final int eventSender=0x7f090015;
public static final int eventSummary=0x7f09001a;
public static final int eventText=0x7f09001b;
public static final int eventTime=0x7f090014;
public static final int eventType=0x7f090018;
public static final int increment=0x7f09001c;
public static final int clean_database_menu=0x7f090040;
public static final int contentWebView=0x7f090025;
public static final int courseNameText=0x7f090023;
public static final int decrement=0x7f090021;
public static final int eventContent=0x7f09001a;
public static final int eventDate=0x7f090016;
public static final int eventLocation=0x7f09001c;
public static final int eventMetaData=0x7f090014;
public static final int eventSender=0x7f090018;
public static final int eventSummary=0x7f09001d;
public static final int eventText=0x7f09001e;
public static final int eventTime=0x7f090017;
public static final int eventType=0x7f09001b;
public static final int increment=0x7f09001f;
public static final int listIcon=0x7f090009;
public static final int listItems=0x7f09000b;
public static final int listText=0x7f09000a;
public static final int messageReplyButton=0x7f090016;
public static final int messageReplyButton=0x7f090019;
public static final int message_body_text=0x7f09000e;
public static final int message_button_accept=0x7f09000f;
public static final int message_button_cancel=0x7f090010;
@ -93,40 +93,43 @@ public final class R {
public static final int message_subject_text=0x7f09000d;
public static final int moduleIcon=0x7f090001;
public static final int moduleName=0x7f090002;
public static final int notificationIcon=0x7f090012;
public static final int preferences_menu=0x7f09003e;
public static final int rate_menu=0x7f09003c;
public static final int notice_body_text=0x7f090011;
public static final int notice_button_accept=0x7f090012;
public static final int notice_button_cancel=0x7f090013;
public static final int notificationIcon=0x7f090015;
public static final int preferences_menu=0x7f090041;
public static final int rate_menu=0x7f09003f;
public static final int refresh=0x7f090008;
public static final int senderNameText=0x7f09001f;
public static final int share_menu=0x7f09003b;
public static final int summaryText=0x7f090021;
public static final int testAnswerTypesAcceptButton=0x7f090025;
public static final int testAnswerTypesList=0x7f090024;
public static final int testAnswerTypesText=0x7f090023;
public static final int senderNameText=0x7f090022;
public static final int share_menu=0x7f09003e;
public static final int summaryText=0x7f090024;
public static final int testAnswerTypesAcceptButton=0x7f090028;
public static final int testAnswerTypesList=0x7f090027;
public static final int testAnswerTypesText=0x7f090026;
public static final int testEvaluateButton=0x7f090006;
public static final int testMakeAnswer=0x7f090029;
public static final int testMakeBottomBar=0x7f09002e;
public static final int testMakeCorrectAnswer=0x7f09002c;
public static final int testMakeCorrectAnswerImage=0x7f09002a;
public static final int testMakeEditText=0x7f09002b;
public static final int testMakeList=0x7f09002d;
public static final int testMakeNextButton=0x7f090031;
public static final int testMakePrevButton=0x7f09002f;
public static final int testMakeQuestionScore=0x7f090027;
public static final int testMakeStem=0x7f090026;
public static final int testMakeText=0x7f090028;
public static final int testNumQuestionsAcceptButton=0x7f090037;
public static final int testNumQuestionsNumberPicker=0x7f090034;
public static final int testNumQuestionsText=0x7f090036;
public static final int testResultsButton=0x7f090035;
public static final int testResultsScore=0x7f090033;
public static final int testResultsText=0x7f090032;
public static final int testMakeAnswer=0x7f09002c;
public static final int testMakeBottomBar=0x7f090031;
public static final int testMakeCorrectAnswer=0x7f09002f;
public static final int testMakeCorrectAnswerImage=0x7f09002d;
public static final int testMakeEditText=0x7f09002e;
public static final int testMakeList=0x7f090030;
public static final int testMakeNextButton=0x7f090034;
public static final int testMakePrevButton=0x7f090032;
public static final int testMakeQuestionScore=0x7f09002a;
public static final int testMakeStem=0x7f090029;
public static final int testMakeText=0x7f09002b;
public static final int testNumQuestionsAcceptButton=0x7f09003a;
public static final int testNumQuestionsNumberPicker=0x7f090037;
public static final int testNumQuestionsText=0x7f090039;
public static final int testResultsButton=0x7f090038;
public static final int testResultsScore=0x7f090036;
public static final int testResultsText=0x7f090035;
public static final int testShowResultsButton=0x7f090004;
public static final int testTagsAcceptButton=0x7f09003a;
public static final int testTagsList=0x7f090039;
public static final int testTagsText=0x7f090038;
public static final int test_questions_bar=0x7f090030;
public static final int timepicker_input=0x7f09001d;
public static final int testTagsAcceptButton=0x7f09003d;
public static final int testTagsList=0x7f09003c;
public static final int testTagsText=0x7f09003b;
public static final int test_questions_bar=0x7f090033;
public static final int timepicker_input=0x7f090020;
public static final int title_sep_1=0x7f090007;
public static final int title_sep_2=0x7f090005;
public static final int title_sep_3=0x7f090003;
@ -140,138 +143,144 @@ public final class R {
public static final int list_items=0x7f030005;
public static final int main=0x7f030006;
public static final int messages_dialog=0x7f030007;
public static final int notifications_list_item=0x7f030008;
public static final int number_picker=0x7f030009;
public static final int simple_list_item=0x7f03000a;
public static final int single_notification_view=0x7f03000b;
public static final int tests_answer_types=0x7f03000c;
public static final int tests_make_questions=0x7f03000d;
public static final int tests_make_results=0x7f03000e;
public static final int tests_num_questions=0x7f03000f;
public static final int tests_tags=0x7f030010;
public static final int notice_dialog=0x7f030008;
public static final int notifications_list_item=0x7f030009;
public static final int number_picker=0x7f03000a;
public static final int simple_list_item=0x7f03000b;
public static final int single_notification_view=0x7f03000c;
public static final int tests_answer_types=0x7f03000d;
public static final int tests_make_questions=0x7f03000e;
public static final int tests_make_results=0x7f03000f;
public static final int tests_num_questions=0x7f030010;
public static final int tests_tags=0x7f030011;
}
public static final class menu {
public static final int menu_main=0x7f080000;
}
public static final class string {
public static final int about_preferences=0x7f070017;
public static final int acceptMsg=0x7f07003f;
public static final int allMsg=0x7f070041;
public static final int about_preferences=0x7f070018;
public static final int acceptMsg=0x7f070040;
public static final int allMsg=0x7f070042;
public static final int app_name=0x7f070000;
public static final int assignment=0x7f070034;
public static final int author_preferences=0x7f070019;
public static final int blogTitle=0x7f070071;
public static final int blogURL=0x7f07006b;
public static final int cancelMsg=0x7f070040;
public static final int cleanDatabaseMsg=0x7f070063;
public static final int cleanDatabaseTitle_menu=0x7f070016;
public static final int close_dialog=0x7f070007;
public static final int content=0x7f070031;
public static final int assignment=0x7f070035;
public static final int author_preferences=0x7f07001a;
public static final int blogTitle=0x7f070076;
public static final int blogURL=0x7f070070;
public static final int cancelMsg=0x7f070041;
public static final int cleanDatabaseMsg=0x7f070068;
public static final int cleanDatabaseTitle_menu=0x7f070017;
public static final int close_dialog=0x7f070008;
public static final int content=0x7f070032;
public static final int coursesModuleLabel=0x7f070003;
public static final int coursesProgressDescription=0x7f07001f;
public static final int coursesProgressTitle=0x7f07001e;
public static final int dateMsg=0x7f070038;
public static final int errorBadLoginMsg=0x7f070058;
public static final int errorConnectionMsg=0x7f07005a;
public static final int errorCopyMsg_DB=0x7f070029;
public static final int errorMsgLaunchingActivity=0x7f070026;
public static final int errorMsgNoConnection=0x7f070028;
public static final int errorMsgWorkaroundEmulator=0x7f070027;
public static final int errorServerResponseMsg=0x7f070059;
public static final int errorTimeoutMsg=0x7f07005b;
public static final int evaluation=0x7f070033;
public static final int examAnnouncement=0x7f07002c;
public static final int facebookTitle=0x7f07006e;
public static final int facebookURL=0x7f070068;
public static final int falseMsg=0x7f07003e;
public static final int firstRunMsg=0x7f070055;
public static final int footMessageMsg=0x7f070075;
public static final int forumReply=0x7f070030;
public static final int fromMsg=0x7f070037;
public static final int googlePlusTitle=0x7f07006f;
public static final int googlePlusURL=0x7f070069;
public static final int initialDialogTitle=0x7f070056;
public static final int coursesProgressDescription=0x7f070020;
public static final int coursesProgressTitle=0x7f07001f;
public static final int dateMsg=0x7f070039;
public static final int errorBadLoginMsg=0x7f070059;
public static final int errorConnectionMsg=0x7f07005b;
public static final int errorCopyMsg_DB=0x7f07002a;
public static final int errorMsgLaunchingActivity=0x7f070027;
public static final int errorMsgNoConnection=0x7f070029;
public static final int errorMsgWorkaroundEmulator=0x7f070028;
public static final int errorServerResponseMsg=0x7f07005a;
public static final int errorTimeoutMsg=0x7f07005c;
public static final int evaluation=0x7f070034;
public static final int examAnnouncement=0x7f07002d;
public static final int facebookTitle=0x7f070073;
public static final int facebookURL=0x7f07006d;
public static final int falseMsg=0x7f07003f;
public static final int firstRunMsg=0x7f070056;
public static final int footMessageMsg=0x7f07007a;
public static final int forumReply=0x7f070031;
public static final int fromMsg=0x7f070038;
public static final int googlePlusTitle=0x7f070074;
public static final int googlePlusURL=0x7f07006e;
public static final int initialDialogTitle=0x7f070057;
public static final int loginModuleLabel=0x7f070001;
public static final int loginProgressDescription=0x7f07001d;
public static final int loginProgressTitle=0x7f07001c;
public static final int loginSuccessfulMsg=0x7f07002b;
public static final int loginTitle_menu=0x7f07001b;
public static final int mailingListTitle=0x7f070070;
public static final int mailingListURL=0x7f07006a;
public static final int marketTitle=0x7f070072;
public static final int marketURL=0x7f070065;
public static final int marketWebURL=0x7f070066;
public static final int marksFile=0x7f07002d;
public static final int message=0x7f07002f;
public static final int messageSendErrorMsg=0x7f07005e;
public static final int messageSendedMsg=0x7f07005d;
public static final int message_body_title=0x7f070061;
public static final int message_receivers_title=0x7f07005f;
public static final int message_subject_title=0x7f070060;
public static final int messages=0x7f070032;
public static final int loginProgressDescription=0x7f07001e;
public static final int loginProgressTitle=0x7f07001d;
public static final int loginSuccessfulMsg=0x7f07002c;
public static final int loginTitle_menu=0x7f07001c;
public static final int mailingListTitle=0x7f070075;
public static final int mailingListURL=0x7f07006f;
public static final int marketTitle=0x7f070077;
public static final int marketURL=0x7f07006a;
public static final int marketWebURL=0x7f07006b;
public static final int marksFile=0x7f07002e;
public static final int message=0x7f070030;
public static final int messageSendErrorMsg=0x7f07005f;
public static final int messageSendedMsg=0x7f07005e;
public static final int message_body_title=0x7f070062;
public static final int message_receivers_title=0x7f070060;
public static final int message_subject_title=0x7f070061;
public static final int messages=0x7f070033;
public static final int messagesModuleLabel=0x7f070005;
public static final int noContentMsg=0x7f07003a;
public static final int noCourseSelectedMsg=0x7f070043;
public static final int noMsg=0x7f07003c;
public static final int noQuestionsAvailableTestsDownloadMsg=0x7f070044;
public static final int noQuestionsPluggableTestsDownloadMsg=0x7f070045;
public static final int noSubjectMsg=0x7f070039;
public static final int notice=0x7f07002e;
public static final int notificationsAlertMsg=0x7f070074;
public static final int notificationsAlertTitle=0x7f070073;
public static final int notificationsDownloadedMsg=0x7f070023;
public static final int notificationsEmptyListMsg=0x7f070022;
public static final int noContentMsg=0x7f07003b;
public static final int noCourseSelectedMsg=0x7f070044;
public static final int noMsg=0x7f07003d;
public static final int noQuestionsAvailableTestsDownloadMsg=0x7f070045;
public static final int noQuestionsPluggableTestsDownloadMsg=0x7f070046;
public static final int noSubjectMsg=0x7f07003a;
public static final int notice=0x7f07002f;
public static final int noticePublished=0x7f070065;
public static final int noticeSendError=0x7f070066;
public static final int notice_body_title=0x7f070063;
public static final int noticesModuleLabel=0x7f070006;
public static final int notificationsAlertMsg=0x7f070079;
public static final int notificationsAlertTitle=0x7f070078;
public static final int notificationsDownloadedMsg=0x7f070024;
public static final int notificationsEmptyListMsg=0x7f070023;
public static final int notificationsModuleLabel=0x7f070002;
public static final int notificationsProgressDescription=0x7f070021;
public static final int notificationsProgressTitle=0x7f070020;
public static final int organization_preferences=0x7f07001a;
public static final int preferencesTitle_menu=0x7f070013;
public static final int questionsTestsDownloadSuccesfulMsg=0x7f070046;
public static final int rateTitle_menu=0x7f070015;
public static final int saveMsg_preferences=0x7f070010;
public static final int saveSummary_preferences=0x7f070011;
public static final int saveTitle_preferences=0x7f070012;
public static final int selectCourseTitle=0x7f070042;
public static final int sendMsg=0x7f070062;
public static final int sendingMessageMsg=0x7f07005c;
public static final int set_preferences=0x7f070008;
public static final int shareBodyMsg=0x7f070064;
public static final int shareTitle_menu=0x7f070014;
public static final int survey=0x7f070035;
public static final int testAnswerTypesMsg=0x7f07004d;
public static final int testEvaluateMsg=0x7f07004f;
public static final int testNoAnswerTypesSelectedMsg=0x7f07004e;
public static final int testNoDetailsMsg=0x7f070053;
public static final int testNoQuestionsCourseMsg=0x7f070047;
public static final int testNoQuestionsMeetsSpecifiedCriteriaMsg=0x7f070049;
public static final int testNoQuestionsMsg=0x7f070048;
public static final int testNoResultsMsg=0x7f070054;
public static final int testNoTagsSelectedMsg=0x7f07004c;
public static final int testNumQuestionsMsg=0x7f07004a;
public static final int testResultsTextMsg=0x7f070050;
public static final int testShowResultsDetailsMsg=0x7f070052;
public static final int testShowResultsMsg=0x7f070051;
public static final int testTagsMsg=0x7f07004b;
public static final int testsDownloadProgressDescription=0x7f070025;
public static final int testsDownloadProgressTitle=0x7f070024;
public static final int notificationsProgressDescription=0x7f070022;
public static final int notificationsProgressTitle=0x7f070021;
public static final int organization_preferences=0x7f07001b;
public static final int preferencesTitle_menu=0x7f070014;
public static final int publishingNotice=0x7f070064;
public static final int questionsTestsDownloadSuccesfulMsg=0x7f070047;
public static final int rateTitle_menu=0x7f070016;
public static final int saveMsg_preferences=0x7f070011;
public static final int saveSummary_preferences=0x7f070012;
public static final int saveTitle_preferences=0x7f070013;
public static final int selectCourseTitle=0x7f070043;
public static final int sendMsg=0x7f070067;
public static final int sendingMessageMsg=0x7f07005d;
public static final int set_preferences=0x7f070009;
public static final int shareBodyMsg=0x7f070069;
public static final int shareTitle_menu=0x7f070015;
public static final int survey=0x7f070036;
public static final int testAnswerTypesMsg=0x7f07004e;
public static final int testEvaluateMsg=0x7f070050;
public static final int testNoAnswerTypesSelectedMsg=0x7f07004f;
public static final int testNoDetailsMsg=0x7f070054;
public static final int testNoQuestionsCourseMsg=0x7f070048;
public static final int testNoQuestionsMeetsSpecifiedCriteriaMsg=0x7f07004a;
public static final int testNoQuestionsMsg=0x7f070049;
public static final int testNoResultsMsg=0x7f070055;
public static final int testNoTagsSelectedMsg=0x7f07004d;
public static final int testNumQuestionsMsg=0x7f07004b;
public static final int testResultsTextMsg=0x7f070051;
public static final int testShowResultsDetailsMsg=0x7f070053;
public static final int testShowResultsMsg=0x7f070052;
public static final int testTagsMsg=0x7f07004c;
public static final int testsDownloadProgressDescription=0x7f070026;
public static final int testsDownloadProgressTitle=0x7f070025;
public static final int testsModuleLabel=0x7f070004;
public static final int title_error_dialog=0x7f070006;
public static final int trueMsg=0x7f07003d;
public static final int twitterTitle=0x7f07006d;
public static final int twitterURL=0x7f070067;
public static final int twitterUser=0x7f07006c;
public static final int unknownNotification=0x7f070036;
public static final int upgradeMsg=0x7f070057;
public static final int upgradeMsg_DB=0x7f07002a;
public static final int userIDName_preferences=0x7f07000a;
public static final int userIDSummary_preferences=0x7f07000b;
public static final int userIDTitle_preferences=0x7f07000c;
public static final int userPasswordName_preferences=0x7f07000d;
public static final int userPasswordSummary_preferences=0x7f07000e;
public static final int userPasswordTitle_preferences=0x7f07000f;
public static final int user_preferences=0x7f070009;
public static final int versionTitle_preferences=0x7f070018;
public static final int yesMsg=0x7f07003b;
public static final int title_error_dialog=0x7f070007;
public static final int trueMsg=0x7f07003e;
public static final int twitterTitle=0x7f070072;
public static final int twitterURL=0x7f07006c;
public static final int twitterUser=0x7f070071;
public static final int unknownNotification=0x7f070037;
public static final int upgradeMsg=0x7f070058;
public static final int upgradeMsg_DB=0x7f07002b;
public static final int userIDName_preferences=0x7f07000b;
public static final int userIDSummary_preferences=0x7f07000c;
public static final int userIDTitle_preferences=0x7f07000d;
public static final int userPasswordName_preferences=0x7f07000e;
public static final int userPasswordSummary_preferences=0x7f07000f;
public static final int userPasswordTitle_preferences=0x7f070010;
public static final int user_preferences=0x7f07000a;
public static final int versionTitle_preferences=0x7f070019;
public static final int yesMsg=0x7f07003c;
}
public static final class xml {
public static final int preferences=0x7f040000;

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="3dip">
<EditText
android:id="@+id/notice_body_text"
android:hint="@string/notice_body_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/foreground1">
</EditText>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<Button
android:id="@+id/notice_button_accept"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sendMsg">
</Button>
<Button
android:id="@+id/notice_button_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancelMsg">
</Button>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>

View File

@ -6,6 +6,7 @@
<string name="coursesModuleLabel">Asignaturas</string>
<string name="testsModuleLabel">Tests</string>
<string name="messagesModuleLabel">Enviar mensaje</string>
<string name="noticesModuleLabel">Publicar nuevo aviso</string>
<string name="title_error_dialog">ERROR</string>
<string name="close_dialog">Cerrar</string>
<string name="set_preferences">Configuración</string>
@ -111,6 +112,9 @@
<string name="message_receivers_title">Destinatarios (separados por comas)</string>
<string name="message_subject_title">Asunto</string>
<string name="message_body_title">Mensaje</string>
<string name="notice_body_title">Aviso</string>
<string name="publishingNotice">Publicando aviso...</string>
<string name="noticePublished">Aviso publicado</string><string name="noticeSendError">Error al publicar el nuevo aviso</string>
<string name="sendMsg">Enviar</string>
<string name="cleanDatabaseMsg">Todos los datos de la base de datos han sido borrados</string>
<string name="shareBodyMsg">Estoy usando #SWADroid en mi Android para acceder a la

View File

@ -6,6 +6,7 @@
<string name="coursesModuleLabel">Courses</string>
<string name="testsModuleLabel">Tests</string>
<string name="messagesModuleLabel">Send message</string>
<string name="noticesModuleLabel">Publish new notice</string>
<string name="title_error_dialog">ERROR</string>
<string name="close_dialog">Close</string>
<string name="set_preferences">Preferences</string>
@ -108,6 +109,9 @@
<string name="message_receivers_title">Receivers (separated by comma)</string>
<string name="message_subject_title">Subject</string>
<string name="message_body_title">Message</string>
<string name="notice_body_title">Notice</string>
<string name="publishingNotice">Publishing notice...</string>
<string name="noticePublished">Notice published</string><string name="noticeSendError">Error while publishing the new notice</string>
<string name="sendMsg">Send</string>
<string name="cleanDatabaseMsg">The database has been cleaned</string>
<string name="shareBodyMsg">I\'m using #SWADroid in my Android mobile for access to

View File

@ -72,6 +72,10 @@ public class Global {
* Request code for Tests module.
*/
public static final int MESSAGES_REQUEST_CODE = 8;
/**
* Request code for Notice module
*/
public static final int NOTICES_REQUESET_CODE = 9;
/**
* Prefix tag name for Logcat
*/
@ -177,6 +181,7 @@ public class Global {
}
/**
* Function to parse from Boolean to String
* @param b Boolean to be parsed
* @return "Y" if b==true, "N" in other case
@ -184,4 +189,4 @@ public class Global {
public static String parseBoolString(boolean b) {
return b ? "Y" : "N";
}
}
}

View File

@ -33,9 +33,11 @@ import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.TextView;
import es.ugr.swad.swadroid.model.DataBaseHelper;
import es.ugr.swad.swadroid.model.User;
import es.ugr.swad.swadroid.modules.Messages;
import es.ugr.swad.swadroid.modules.notifications.Notifications;
import es.ugr.swad.swadroid.modules.tests.Tests;
import es.ugr.swad.swadroid.modules.Notices;
import es.ugr.swad.swadroid.ssl.SecureConnection;
/**
@ -119,6 +121,9 @@ public class SWADMain extends MenuExpandableListActivity {
activity = new Intent(getBaseContext(), Messages.class);
activity.putExtra("notificationCode", new Long(0));
startActivityForResult(activity, Global.MESSAGES_REQUEST_CODE);
} else if(keyword.equals(getString(R.string.noticesModuleLabel))){
activity = new Intent(getBaseContext(), Notices.class);
startActivityForResult(activity, Global.NOTICES_REQUESET_CODE);
}
return true;
@ -170,6 +175,11 @@ public class SWADMain extends MenuExpandableListActivity {
map.put(IMAGE, getResources().getDrawable(R.drawable.msg));
messagesData.add(map);
map = new HashMap<String,Object>();
map.put(NAME, getString(R.string.noticesModuleLabel) );
map.put(IMAGE, getResources().getDrawable(R.drawable.note));
messagesData.add(map);
//Evaluation category
map = new HashMap<String,Object>();
map.put(NAME, getString(R.string.testsModuleLabel) );
@ -188,6 +198,9 @@ public class SWADMain extends MenuExpandableListActivity {
new int[] {}
));
//TODO getExpandableListAdapter().getChildView(0, 2, false, null, null).setClickable(false);
getExpandableListView().setOnChildClickListener(this);
}

View File

@ -0,0 +1,304 @@
/*
* This file is part of SWADroid.
*
* Copyright (C) 2010 Juan Miguel Boyero Corral <juanmi1982@gmail.com>
*
* SWADroid is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* SWADroid is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with SWADroid. If not, see <http://www.gnu.org/licenses/>.
*/
package es.ugr.swad.swadroid.modules;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import org.ksoap2.SoapFault;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import es.ugr.swad.swadroid.Global;
import es.ugr.swad.swadroid.Preferences;
import es.ugr.swad.swadroid.R;
import es.ugr.swad.swadroid.model.Course;
import es.ugr.swad.swadroid.model.Model;
import es.ugr.swad.swadroid.model.User;
import es.ugr.swad.swadroid.modules.Module.Connect;
/**
* Module for send messages.
* @author Helena Rodriguez Gijon <helena.rodriguez.gijon@gmail.com>
*/
public class Notices extends Module {
/**
* Messages tag name for Logcat
*/
public static final String TAG = Global.APP_TAG + " Notice";
/**
* Course code
*/
private Long courseCode;
/**
* Notice's body
*/
private String body;
private Dialog noticeDialog;
/**
* Application preferences.
*/
protected static Preferences prefs = new Preferences();
/**
* Cursor for database access
*/
private Cursor dbCursor;
/**
* User courses list
*/
private List<Model>listCourses;
/**
* Selected course code
*/
private long selectedCourseCode = 0;
private OnClickListener positiveClickListener = new OnClickListener() {
public void onClick(View v) {
if(isDebuggable) {
Log.i(TAG, "on click positive before send request to server");
}
try {
/*if(isDebuggable) {
Log.i(TAG, "selectedCourseCode = " + Long.toString(courseCode));
}*/
runConnection();
} catch (Exception ex) {
String errorMsg = getString(R.string.errorServerResponseMsg);
error(errorMsg);
if(isDebuggable) {
Log.e(ex.getClass().getSimpleName(), errorMsg);
ex.printStackTrace();
}
}
}
};
private OnClickListener negativeClickListener = new OnClickListener() {
public void onClick(View v) {
finish();
}
};
private void launchNoticeDialog(){
noticeDialog = new Dialog(this);
Button acceptButton, cancelButton;
//Course selectedCourse = (Course)listCourses.get(selectedCourseCode);
//String selectedCourseName = selectedCourse.getName();
noticeDialog.setTitle(R.string.noticesModuleLabel);
//noticeDialog.setTitle(R.string.noticeModuleLabel + listCourses.get(selectedCourseCode));
noticeDialog.setContentView(R.layout.notice_dialog);
noticeDialog.setCancelable(true);
noticeDialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
acceptButton = (Button) noticeDialog.findViewById(R.id.notice_button_accept);
acceptButton.setOnClickListener(positiveClickListener);
cancelButton = (Button) noticeDialog.findViewById(R.id.notice_button_cancel);
cancelButton.setOnClickListener(negativeClickListener);
noticeDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
setResult(RESULT_CANCELED);
finish();
}
});
noticeDialog.show();
}
@Override
protected void requestService() throws NoSuchAlgorithmException,
IOException, XmlPullParserException, SoapFault,
IllegalAccessException, InstantiationException {
readData();
createRequest();
addParam("wsKey",User.getWsKey());
addParam("courseCode",(int)selectedCourseCode);
addParam("body",body);
sendRequest(User.class,false);
if(result != null){
}
setResult(RESULT_OK);
}
@Override
protected void connect() {
String progressDescription = getString(R.string.noticesModuleLabel);
int progressTitle = R.string.noticesModuleLabel;
new Connect(false, progressDescription, progressTitle).execute();
Toast.makeText(this, R.string.publishingNotice, Toast.LENGTH_SHORT).show();
Log.i(TAG, getString(R.string.publishingNotice));
}
@Override
protected void postConnect() {
String noticeSended = getString(R.string.noticePublished);
Toast.makeText(this, noticeSended, Toast.LENGTH_LONG).show();
Log.i(TAG, noticeSended);
finish();
}
private void readData() {
EditText bd = (EditText) noticeDialog.findViewById(R.id.notice_body_text);
body = bd.getText().toString();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setMETHOD_NAME("sendNotice");
}
@Override
protected void onPause() {
super.onPause();
//noticeDialog.dismiss();
}
@Override
protected void onStart() {
Intent activity;
super.onStart();
prefs.getPreferences(getBaseContext());
activity = new Intent(getBaseContext(), Courses.class );
Toast.makeText(getBaseContext(), R.string.coursesProgressDescription, Toast.LENGTH_LONG).show();
startActivityForResult(activity,Global.COURSES_REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
int lastCourseSelected;
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK){
switch(requestCode){
//After get the list of courses, a dialog is launched to choice the course
case Global.COURSES_REQUEST_CODE:
final AlertDialog.Builder coursesDialog = new AlertDialog.Builder(this);
dbCursor = dbHelper.getDb().getCursor(Global.DB_TABLE_COURSES);
listCourses = dbHelper.getAllRows(Global.DB_TABLE_COURSES);
lastCourseSelected = prefs.getLastCourseSelected();
coursesDialog.setSingleChoiceItems(dbCursor, lastCourseSelected, "name", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Course c = (Course) listCourses.get(whichButton);
selectedCourseCode = c.getId();
prefs.setLastCourseSelected(whichButton);
if(isDebuggable){
Integer s = whichButton;
Log.i(TAG, "singleChoice = " + s.toString());
}
}
});
coursesDialog.setTitle(R.string.selectCourseTitle);
coursesDialog.setPositiveButton(R.string.acceptMsg, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try {
if(selectedCourseCode == 0) {
//Toast.makeText(getBaseContext(), R.string.noCourseSelectedMsg, Toast.LENGTH_LONG).show();
Course c = (Course) listCourses.get(prefs.getLastCourseSelected());
selectedCourseCode = c.getId();
}
if(isDebuggable) {
Log.i(TAG, "selectedCourseCode = " + Long.toString(selectedCourseCode));
}
dialog.dismiss();
launchNoticeDialog();
//runConnection();
} catch (Exception ex) {
String errorMsg = getString(R.string.errorServerResponseMsg);
error(errorMsg);
if(isDebuggable) {
Log.e(ex.getClass().getSimpleName(), errorMsg);
ex.printStackTrace();
}
}
}
});
coursesDialog.setNegativeButton(R.string.cancelMsg, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
setResult(RESULT_CANCELED);
finish();
}
});
coursesDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
//dialog.cancel();
setResult(RESULT_CANCELED);
finish();
}
});
coursesDialog.show();
break;
}
} else {
setResult(RESULT_CANCELED);
finish();
}
}
}