Migrated Login logic to Service
This commit is contained in:
parent
95c11d527f
commit
ac3851162c
|
@ -137,6 +137,7 @@
|
|||
<orderEntry type="library" exported="" name="kxml-2.2.4" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-appinvite-7.3.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-gcm-7.3.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="eventbus-2.4.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-nearby-7.3.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="ksoap2-j2se-3.4.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-v4-22.1.1" level="project" />
|
||||
|
|
|
@ -33,4 +33,5 @@ dependencies {
|
|||
compile 'commons-io:commons-io:latest.release'
|
||||
compile 'com.nostra13.universalimageloader:universal-image-loader:latest.release'
|
||||
compile 'it.neokree:MaterialNavigationDrawer:latest.release'
|
||||
compile 'de.greenrobot:eventbus:latest.release'
|
||||
}
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="es.ugr.swad.swadroid"
|
||||
android:installLocation="auto"
|
||||
android:versionCode="69"
|
||||
android:versionName="1.2.4">
|
||||
android:installLocation="auto" >
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
@ -33,23 +31,23 @@
|
|||
android:normalScreens="true"
|
||||
android:resizeable="true"
|
||||
android:smallScreens="true"
|
||||
android:xlargeScreens="true"></supports-screens>
|
||||
android:xlargeScreens="true" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_launcher_swadroid"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/MockedAccountLight">
|
||||
android:theme="@style/MockedAccountLight" >
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.version"
|
||||
android:value="@integer/google_play_services_version" />
|
||||
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.LoginActivity"
|
||||
android:name=".LoginActivity"
|
||||
android:icon="@drawable/ic_launcher_swadroid"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.Holo.Light"
|
||||
android:windowSoftInputMode="adjustResize|stateVisible">
|
||||
android:windowSoftInputMode="adjustResize|stateVisible" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
|
@ -57,50 +55,48 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:theme="@android:style/Theme.Holo.Light"
|
||||
android:name="es.ugr.swad.swadroid.PreferencesActivity"
|
||||
android:label="@string/set_preferences"></activity>
|
||||
<activity android:name="es.ugr.swad.swadroid.modules.RecoverPassword"></activity>
|
||||
android:name=".PreferencesActivity"
|
||||
android:label="@string/set_preferences"
|
||||
android:theme="@android:style/Theme.Holo.Light" />
|
||||
<activity android:name=".modules.RecoverPassword" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.Login"
|
||||
android:label="@string/loginModuleLabel"></activity>
|
||||
android:name=".modules.Login.OldLogin"
|
||||
android:label="@string/loginModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.rollcall.Rollcall"
|
||||
android:name=".modules.rollcall.Rollcall"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||
|
||||
android:label="@string/rollcallModuleLabel"
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".modules.rollcall.EventsDownload"
|
||||
android:label="@string/rollcallModuleLabel"></activity>
|
||||
android:label="@string/rollcallModuleLabel" />
|
||||
<activity
|
||||
android:name=".modules.rollcall.UsersActivity"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||
|
||||
android:label="@string/rollcallModuleLabel"
|
||||
android:parentActivityName="es.ugr.swad.swadroid.modules.rollcall.Rollcall">
|
||||
android:parentActivityName=".modules.rollcall.Rollcall" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.modules.rollcall.Rollcall" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".modules.rollcall.UsersDownload"
|
||||
android:label="@string/rollcallModuleLabel"></activity>
|
||||
android:label="@string/rollcallModuleLabel" />
|
||||
<activity
|
||||
android:name=".modules.rollcall.UsersSend"
|
||||
android:label="@string/rollcallModuleLabel"></activity>
|
||||
android:label="@string/rollcallModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.Groups"
|
||||
android:label="@string/rollcallModuleLabel"></activity>
|
||||
android:name=".modules.Groups"
|
||||
android:label="@string/rollcallModuleLabel" />
|
||||
<activity
|
||||
android:name="com.google.zxing.client.android.CaptureActivity"
|
||||
android:screenOrientation="landscape"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:windowSoftInputMode="stateAlwaysHidden">
|
||||
android:windowSoftInputMode="stateAlwaysHidden" >
|
||||
<intent-filter>
|
||||
<action android:name="es.ugr.swad.swadroid.android.SCAN" />
|
||||
|
||||
|
@ -108,146 +104,134 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.Courses"
|
||||
android:label="@string/coursesModuleLabel"></activity>
|
||||
android:name=".modules.Courses"
|
||||
android:label="@string/coursesModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.notifications.Notifications"
|
||||
android:name=".modules.notifications.Notifications"
|
||||
android:label="@string/notificationsModuleLabel"
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.notifications.NotificationItem"
|
||||
android:name=".modules.notifications.NotificationItem"
|
||||
android:label="@string/notificationsModuleLabel"
|
||||
|
||||
android:parentActivityName="es.ugr.swad.swadroid.modules.notifications.Notifications">
|
||||
android:parentActivityName=".modules.notifications.Notifications" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.modules.notifications.Notifications" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.tests.Tests"
|
||||
android:name=".modules.tests.Tests"
|
||||
android:label="@string/testsModuleLabel"
|
||||
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.tests.TestsQuestionsDownload"
|
||||
android:label="@string/testsModuleLabel"></activity>
|
||||
android:name=".modules.tests.TestsQuestionsDownload"
|
||||
android:label="@string/testsModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.tests.TestsConfigDownload"
|
||||
android:label="@string/testsModuleLabel"></activity>
|
||||
android:name=".modules.tests.TestsConfigDownload"
|
||||
android:label="@string/testsModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.tests.TestsMake"
|
||||
android:name=".modules.tests.TestsMake"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||
|
||||
android:label="@string/testsModuleLabel"
|
||||
android:parentActivityName="es.ugr.swad.swadroid.modules.tests.Tests">
|
||||
android:parentActivityName=".modules.tests.Tests" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.modules.tests.Tests" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.messages.Messages"
|
||||
android:name=".modules.messages.Messages"
|
||||
android:configChanges="orientation|screenSize"
|
||||
|
||||
android:label="@string/messagesModuleLabel"
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.messages.FilterUsersList"
|
||||
android:name=".modules.messages.FilterUsersList"
|
||||
android:configChanges="orientation|screenSize"
|
||||
|
||||
android:label="@string/filterUsersListModuleLabel"></activity>
|
||||
android:label="@string/filterUsersListModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.messages.UsersList"
|
||||
android:name=".modules.messages.UsersList"
|
||||
android:configChanges="orientation|screenSize"
|
||||
|
||||
android:label="@string/messagesModuleLabel"></activity>
|
||||
android:label="@string/messagesModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.Notices"
|
||||
android:name=".modules.Notices"
|
||||
android:label="@string/noticesModuleLabel"
|
||||
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity android:name="es.ugr.swad.swadroid.sync.AccountAuthenticator"></activity>
|
||||
<activity android:name=".sync.AccountAuthenticator" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.downloads.DirectoryTreeDownload"
|
||||
android:label="@string/documentsDownloadModuleLabel"></activity>
|
||||
android:name=".modules.downloads.DirectoryTreeDownload"
|
||||
android:label="@string/documentsDownloadModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.downloads.GetFile"
|
||||
android:label="@string/documentsDownloadModuleLabel"></activity>
|
||||
android:name=".modules.downloads.GetFile"
|
||||
android:label="@string/documentsDownloadModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.downloads.DownloadsManager"
|
||||
android:name=".modules.downloads.DownloadsManager"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||
android:label="@string/documentsDownloadModuleLabel"
|
||||
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.groups.MyGroupsManager"
|
||||
android:name=".modules.groups.MyGroupsManager"
|
||||
android:label="@string/myGroupsModuleLabel"
|
||||
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.GroupTypes"
|
||||
android:label="@string/groupTypesModuleLabel"></activity>
|
||||
android:name=".modules.GroupTypes"
|
||||
android:label="@string/groupTypesModuleLabel" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.groups.SendMyGroups"
|
||||
android:label="@string/sendMyGroupsProgressTitle"></activity>
|
||||
android:name=".modules.groups.SendMyGroups"
|
||||
android:label="@string/sendMyGroupsProgressTitle" />
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.GenerateQR"
|
||||
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:name=".modules.GenerateQR"
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.information.Information"
|
||||
android:name=".modules.information.Information"
|
||||
android:configChanges="orientation|screenSize"
|
||||
|
||||
android:label="@string/informationModuleLabel"
|
||||
android:parentActivityName="es.ugr.swad.swadroid.SWADMain">
|
||||
android:parentActivityName=".SWADMain" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="es.ugr.swad.swadroid.SWADMain" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="es.ugr.swad.swadroid.modules.notifications.NotificationsMarkAllAsRead"
|
||||
android:label="@string/notificationsMarkAllAsReadModuleLabel"></activity>
|
||||
android:name=".modules.notifications.NotificationsMarkAllAsRead"
|
||||
android:label="@string/notificationsMarkAllAsReadModuleLabel" />
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
|
||||
android:label="@string/app_name"></activity>
|
||||
android:label="@string/app_name" />
|
||||
|
||||
<provider
|
||||
android:name="es.ugr.swad.swadroid.sync.DummyProvider"
|
||||
android:name=".sync.DummyProvider"
|
||||
android:authorities="es.ugr.swad.swadroid.content"
|
||||
android:label="SWADroid"
|
||||
android:syncable="true" />
|
||||
|
||||
<service
|
||||
android:name="es.ugr.swad.swadroid.sync.AccountAuthenticatorService"
|
||||
android:exported="true">
|
||||
android:name=".sync.AccountAuthenticatorService"
|
||||
android:exported="false" >
|
||||
<intent-filter>
|
||||
<action android:name="android.accounts.AccountAuthenticator" />
|
||||
</intent-filter>
|
||||
|
@ -257,8 +241,8 @@
|
|||
android:resource="@xml/authenticator" />
|
||||
</service>
|
||||
<service
|
||||
android:name="es.ugr.swad.swadroid.modules.notifications.NotificationsSyncAdapterService"
|
||||
android:exported="true">
|
||||
android:name=".modules.notifications.NotificationsSyncAdapterService"
|
||||
android:exported="false" >
|
||||
<intent-filter>
|
||||
<action android:name="android.content.SyncAdapter" />
|
||||
</intent-filter>
|
||||
|
@ -267,6 +251,10 @@
|
|||
android:name="android.content.SyncAdapter"
|
||||
android:resource="@xml/sync_notifications" />
|
||||
</service>
|
||||
<service
|
||||
android:name=".modules.Login.LoginService"
|
||||
android:exported="false" >
|
||||
</service>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
</manifest>
|
||||
|
|
|
@ -15,8 +15,6 @@
|
|||
|
||||
package es.ugr.swad.swadroid;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.annotation.TargetApi;
|
||||
|
@ -39,12 +37,18 @@ import android.widget.EditText;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.gui.DialogFactory;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.model.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.LoginEvent;
|
||||
import es.ugr.swad.swadroid.modules.Login.LoginService;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.RecoverPassword;
|
||||
import es.ugr.swad.swadroid.utils.Crypto;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
|
@ -101,6 +105,46 @@ public class LoginActivity extends Activity implements OnClickListener {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
||||
//Register to start receiving responses from Login Service
|
||||
EventBus.getDefault().register(this);
|
||||
Log.i(TAG, "Registered EventBus for LoginService");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
//Unregister to stop receiving responses from Login Service
|
||||
EventBus.getDefault().unregister(this);
|
||||
Log.i(TAG, "Unregistered EventBus for LoginService");
|
||||
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
// This method will be called when a response form Login Service is received
|
||||
public void onEvent(LoginEvent event){
|
||||
Log.i(TAG, "Received response from LoginService: " + event.toString());
|
||||
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
showProgress(false);
|
||||
}
|
||||
});
|
||||
|
||||
if(event.isLogged()) {
|
||||
Login.setLogged(true);
|
||||
mFromPreferece = false;
|
||||
mLoginError = false;
|
||||
startActivity(new Intent(this, MainActivity.class));
|
||||
finish();
|
||||
} else {
|
||||
mLoginError = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void setupLoginForm() {
|
||||
|
||||
mLoginFormView = findViewById(R.id.login_form);
|
||||
|
@ -226,7 +270,10 @@ public class LoginActivity extends Activity implements OnClickListener {
|
|||
//error(TAG, e.getMessage(), e, true);
|
||||
}
|
||||
showProgress(true);
|
||||
startActivityForResult(new Intent(this, Login.class), Constants.LOGIN_REQUEST_CODE);
|
||||
//startActivityForResult(new Intent(this, OldLogin.class), Constants.LOGIN_REQUEST_CODE);
|
||||
|
||||
//Call Login Service
|
||||
startService(new Intent(this, LoginService.class));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -236,7 +283,7 @@ public class LoginActivity extends Activity implements OnClickListener {
|
|||
switch (requestCode) {
|
||||
case Constants.LOGIN_REQUEST_CODE:
|
||||
showProgress(false);
|
||||
Login.setLogged(true);
|
||||
OldLogin.setLogged(true);
|
||||
setResult(RESULT_OK);
|
||||
mFromPreferece = false;
|
||||
mLoginError = false;
|
||||
|
|
|
@ -29,7 +29,7 @@ import android.util.Log;
|
|||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.sync.SyncUtils;
|
||||
import es.ugr.swad.swadroid.utils.Crypto;
|
||||
|
||||
|
@ -499,7 +499,7 @@ public class Preferences {
|
|||
}
|
||||
|
||||
public static void logoutClean(Context context, String key) {
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
Log.i(TAG, "Forced logout due to " + key + " change in preferences");
|
||||
|
||||
cleanDatabase();
|
||||
|
|
|
@ -43,7 +43,7 @@ import java.util.List;
|
|||
|
||||
import es.ugr.swad.swadroid.gui.DialogFactory;
|
||||
import es.ugr.swad.swadroid.gui.widget.SeekBarDialogPreference;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.sync.SyncUtils;
|
||||
import es.ugr.swad.swadroid.utils.Crypto;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
|
@ -247,7 +247,7 @@ public class PreferencesActivity extends PreferenceActivity implements OnPrefere
|
|||
Preferences.logoutClean(ctx, Preferences.LOGOUTPREF);
|
||||
Preferences.setUserID("");
|
||||
Preferences.setUserPassword("");
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
|
||||
startActivity(new Intent(getBaseContext(), LoginActivity.class)
|
||||
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
|
||||
|
@ -380,7 +380,7 @@ public class PreferencesActivity extends PreferenceActivity implements OnPrefere
|
|||
userPasswordPrefChanged = true;
|
||||
syncPrefsChanged = true;
|
||||
Preferences.setPreferencesChanged();
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
} else {
|
||||
Toast.makeText(getApplicationContext(), R.string.pradoLoginToast,
|
||||
Toast.LENGTH_LONG).show();
|
||||
|
|
|
@ -60,7 +60,7 @@ import es.ugr.swad.swadroid.model.Course;
|
|||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.GenerateQR;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Notices;
|
||||
import es.ugr.swad.swadroid.modules.downloads.DownloadsManager;
|
||||
import es.ugr.swad.swadroid.modules.groups.MyGroupsManager;
|
||||
|
@ -252,12 +252,12 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
Courses.setSelectedCourseCode(c.getId());
|
||||
Courses.setSelectedCourseShortName(c.getShortName());
|
||||
Courses.setSelectedCourseFullName(c.getFullName());
|
||||
Login.setCurrentUserRole(c.getUserRole());
|
||||
OldLogin.setCurrentUserRole(c.getUserRole());
|
||||
} else {
|
||||
Courses.setSelectedCourseCode(-1);
|
||||
Courses.setSelectedCourseShortName("");
|
||||
Courses.setSelectedCourseFullName("");
|
||||
Login.setCurrentUserRole(-1);
|
||||
OldLogin.setCurrentUserRole(-1);
|
||||
}
|
||||
currentRole = -1;
|
||||
} catch (Exception ex) {
|
||||
|
@ -290,10 +290,10 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
}
|
||||
|
||||
//If today is the user birthday, show birthday message
|
||||
if ((Login.getLoggedUser() != null)
|
||||
&& DateTimeUtils.isBirthday(Login.getLoggedUser().getUserBirthday())) {
|
||||
if ((OldLogin.getLoggedUser() != null)
|
||||
&& DateTimeUtils.isBirthday(OldLogin.getLoggedUser().getUserBirthday())) {
|
||||
mBirthdayTextView.setText(getString(R.string.birthdayMsg).replace(
|
||||
Constants.USERNAME_TEMPLATE, Login.getLoggedUser().getUserFirstname()));
|
||||
Constants.USERNAME_TEMPLATE, OldLogin.getLoggedUser().getUserFirstname()));
|
||||
mBirthdayLayout.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBirthdayLayout.setVisibility(View.GONE);
|
||||
|
@ -322,7 +322,7 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
Courses.setSelectedCourseShortName("");
|
||||
Courses.setSelectedCourseFullName("");
|
||||
|
||||
Login.setCurrentUserRole(-1);
|
||||
OldLogin.setCurrentUserRole(-1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -458,14 +458,14 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
Courses.setSelectedCourseCode(courseSelected.getId());
|
||||
Courses.setSelectedCourseShortName(courseSelected.getShortName());
|
||||
Courses.setSelectedCourseFullName(courseSelected.getFullName());
|
||||
Login.setCurrentUserRole(courseSelected.getUserRole());
|
||||
OldLogin.setCurrentUserRole(courseSelected.getUserRole());
|
||||
Preferences.setLastCourseSelected(lastSelected);
|
||||
} else {
|
||||
courseSelected = (Course) listCourses.get(0);
|
||||
Courses.setSelectedCourseCode(courseSelected.getId());
|
||||
Courses.setSelectedCourseShortName(courseSelected.getShortName());
|
||||
Courses.setSelectedCourseFullName(courseSelected.getFullName());
|
||||
Login.setCurrentUserRole(courseSelected.getUserRole());
|
||||
OldLogin.setCurrentUserRole(courseSelected.getUserRole());
|
||||
Preferences.setLastCourseSelected(0);
|
||||
}
|
||||
}
|
||||
|
@ -694,7 +694,7 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
Courses.setSelectedCourseCode(-1);
|
||||
Courses.setSelectedCourseShortName("");
|
||||
Courses.setSelectedCourseFullName("");
|
||||
Login.setCurrentUserRole(-1);
|
||||
OldLogin.setCurrentUserRole(-1);
|
||||
Preferences.setLastCourseSelected(-1);
|
||||
dBCleaned = true;
|
||||
listCourses.clear();
|
||||
|
@ -899,7 +899,7 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
Courses.setSelectedCourseCode(courseCode);
|
||||
Courses.setSelectedCourseShortName(courseSelected.getShortName());
|
||||
Courses.setSelectedCourseFullName(courseSelected.getFullName());
|
||||
Login.setCurrentUserRole(courseSelected.getUserRole());
|
||||
OldLogin.setCurrentUserRole(courseSelected.getUserRole());
|
||||
createMenu();
|
||||
}
|
||||
}
|
||||
|
|
65
app/src/main/java/es/ugr/swad/swadroid/model/Login.java
Normal file
65
app/src/main/java/es/ugr/swad/swadroid/model/Login.java
Normal file
|
@ -0,0 +1,65 @@
|
|||
package es.ugr.swad.swadroid.model;
|
||||
|
||||
/**
|
||||
* Class for store login info
|
||||
*
|
||||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
|
||||
*/
|
||||
public class Login {
|
||||
/**
|
||||
* Time to force relogin
|
||||
*/
|
||||
public static final int RELOGIN_TIME = 86400000; //24h
|
||||
|
||||
/**
|
||||
* User logged flag
|
||||
*/
|
||||
private static boolean logged;
|
||||
|
||||
/**
|
||||
* Logged user
|
||||
*/
|
||||
private static User loggedUser;
|
||||
|
||||
/**
|
||||
* Time of application's last login
|
||||
*/
|
||||
private static long lastLoginTime;
|
||||
|
||||
/**
|
||||
* Role of the logged User in the current selected course
|
||||
*/
|
||||
private static int currentUserRole = -1;
|
||||
|
||||
public static boolean isLogged() {
|
||||
return logged;
|
||||
}
|
||||
|
||||
public static void setLogged(boolean logged) {
|
||||
Login.logged = logged;
|
||||
}
|
||||
|
||||
public static User getLoggedUser() {
|
||||
return loggedUser;
|
||||
}
|
||||
|
||||
public static void setLoggedUser(User loggedUser) {
|
||||
Login.loggedUser = loggedUser;
|
||||
}
|
||||
|
||||
public static long getLastLoginTime() {
|
||||
return lastLoginTime;
|
||||
}
|
||||
|
||||
public static void setLastLoginTime(long lastLoginTime) {
|
||||
Login.lastLoginTime = lastLoginTime;
|
||||
}
|
||||
|
||||
public static int getCurrentUserRole() {
|
||||
return currentUserRole;
|
||||
}
|
||||
|
||||
public static void setCurrentUserRole(int currentUserRole) {
|
||||
Login.currentUserRole = currentUserRole;
|
||||
}
|
||||
}
|
|
@ -36,6 +36,7 @@ import es.ugr.swad.swadroid.SWADroidTracker;
|
|||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.Course;
|
||||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
/**
|
||||
|
@ -165,7 +166,7 @@ public class Courses extends Module {
|
|||
|
||||
//Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
sendRequest(Course.class, false);
|
||||
|
||||
if (result != null) {
|
||||
|
|
|
@ -14,6 +14,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.gui.MenuActivity;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.utils.QR;
|
||||
|
||||
public class GenerateQR extends MenuActivity {
|
||||
|
@ -48,8 +49,8 @@ public class GenerateQR extends MenuActivity {
|
|||
|
||||
SWADroidTracker.sendScreenView(getApplicationContext(), TAG);
|
||||
|
||||
if (!Login.isLogged() || (Login.getLoggedUser() == null)) {
|
||||
Intent activity = new Intent(getApplicationContext(), Login.class);
|
||||
if (!OldLogin.isLogged() || (OldLogin.getLoggedUser() == null)) {
|
||||
Intent activity = new Intent(getApplicationContext(), OldLogin.class);
|
||||
startActivityForResult(activity, Constants.LOGIN_REQUEST_CODE);
|
||||
} else {
|
||||
generateQR();
|
||||
|
@ -62,11 +63,11 @@ public class GenerateQR extends MenuActivity {
|
|||
if (resultCode == Activity.RESULT_OK) {
|
||||
switch (requestCode) {
|
||||
case Constants.LOGIN_REQUEST_CODE:
|
||||
if ((Login.getLoggedUser() != null) && !Login.getLoggedUser().getUserNickname()
|
||||
if ((OldLogin.getLoggedUser() != null) && !OldLogin.getLoggedUser().getUserNickname()
|
||||
.equals(Constants.NULL_VALUE)) {
|
||||
generateQR();
|
||||
} else {
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
Toast.makeText(getApplicationContext(), R.string.errorNoUserNickname,
|
||||
Toast.LENGTH_LONG).show();
|
||||
|
||||
|
@ -86,7 +87,7 @@ public class GenerateQR extends MenuActivity {
|
|||
private void generateQR() {
|
||||
try {
|
||||
ImageView qr_image = (ImageView) findViewById(R.id.qr_code_image);
|
||||
Bitmap qrCode = QR.encode(this, "@" + Login.getLoggedUser().getUserNickname());
|
||||
Bitmap qrCode = QR.encode(this, "@" + OldLogin.getLoggedUser().getUserNickname());
|
||||
qr_image.setImageBitmap(qrCode);
|
||||
} catch (WriterException e) {
|
||||
error(TAG, e.getMessage(), e, true);
|
||||
|
|
|
@ -17,6 +17,7 @@ import es.ugr.swad.swadroid.SWADroidTracker;
|
|||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.GroupType;
|
||||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
/**
|
||||
|
@ -79,7 +80,7 @@ public class GroupTypes extends Module {
|
|||
@Override
|
||||
protected void requestService() throws Exception {
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) Courses.getSelectedCourseCode());
|
||||
sendRequest(GroupTypes.class, false);
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ import es.ugr.swad.swadroid.SWADroidTracker;
|
|||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.Group;
|
||||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
/**
|
||||
|
@ -117,7 +118,7 @@ public class Groups extends Module {
|
|||
@Override
|
||||
protected void requestService() throws Exception {
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) courseCode);
|
||||
sendRequest(Group.class, false);
|
||||
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package es.ugr.swad.swadroid.modules.Login;
|
||||
|
||||
/**
|
||||
* Class for create responses by Login Service
|
||||
*
|
||||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
|
||||
*/
|
||||
public class LoginEvent {
|
||||
boolean isLogged;
|
||||
|
||||
public LoginEvent(boolean isLogged) {
|
||||
this.isLogged = isLogged;
|
||||
}
|
||||
|
||||
public boolean isLogged() {
|
||||
return isLogged;
|
||||
}
|
||||
|
||||
public void setIsLogged(boolean isLogged) {
|
||||
this.isLogged = isLogged;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "LoginEvent{" +
|
||||
"isLogged=" + isLogged +
|
||||
'}';
|
||||
}
|
||||
}
|
|
@ -0,0 +1,143 @@
|
|||
package es.ugr.swad.swadroid.modules.Login;
|
||||
|
||||
import android.app.IntentService;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import org.ksoap2.serialization.SoapObject;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import es.ugr.swad.swadroid.Config;
|
||||
import es.ugr.swad.swadroid.Constants;
|
||||
import es.ugr.swad.swadroid.Preferences;
|
||||
import es.ugr.swad.swadroid.model.Login;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.services.AbstractIntentService;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
/**
|
||||
* Login {@link IntentService} for connect to SWAD.
|
||||
* <p/>
|
||||
*/
|
||||
public class LoginService extends AbstractIntentService {
|
||||
/**
|
||||
* Login tag name for Logcat
|
||||
*/
|
||||
public static final String TAG = Constants.APP_TAG + " LoginService";
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
webserviceClient = new SOAPClient();
|
||||
webserviceClient.setMETHOD_NAME("loginByUserPasswordKey");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void getParams(Intent intent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void requestService()
|
||||
throws Exception {
|
||||
|
||||
//If last login time > RELOGIN_TIME, force login
|
||||
if (System.currentTimeMillis() - Login.getLastLoginTime() > Login.RELOGIN_TIME) {
|
||||
Log.i(TAG, "last login time > RELOGIN_TIME, loggin off...");
|
||||
Login.setLogged(false);
|
||||
}
|
||||
|
||||
//If the application isn't logged, force login
|
||||
if (!Login.isLogged()) {
|
||||
Log.i(TAG, "Not logged, forcing login...");
|
||||
String userID = Preferences.getUserID();
|
||||
|
||||
//If the user ID is a DNI
|
||||
if (Utils.isValidDni(userID)) {
|
||||
//If the DNI has no letter, remove left zeros
|
||||
if (Utils.isInteger(userID)) {
|
||||
userID = String.valueOf(Integer.parseInt(userID));
|
||||
|
||||
//If the last position of the DNI is a char, remove it
|
||||
} else if (Utils.isInteger(userID.substring(0, userID.length() - 1))) {
|
||||
userID = String
|
||||
.valueOf(Integer.parseInt(userID.substring(0, userID.length() - 1)));
|
||||
}
|
||||
}
|
||||
|
||||
//Creates webservice request, adds required params and sends request to webservice
|
||||
webserviceClient.createRequest();
|
||||
webserviceClient.addParam("userID", userID);
|
||||
webserviceClient.addParam( "userPassword", Preferences.getUserPassword());
|
||||
webserviceClient.addParam( "appKey", Config.SWAD_APP_KEY);
|
||||
((SOAPClient) webserviceClient).sendRequest(User.class, true);
|
||||
|
||||
result = webserviceClient.getResult();
|
||||
|
||||
if (result != null) {
|
||||
SoapObject soap = (SoapObject) result;
|
||||
|
||||
//Stores user data returned by webservice response
|
||||
User user = new User(
|
||||
Long.parseLong(soap.getProperty("userCode").toString()), // userCode
|
||||
soap.getProperty("wsKey").toString(), // wsKey
|
||||
soap.getProperty("userID").toString(), // userID
|
||||
soap.getProperty("userNickname").toString(),
|
||||
// userNickname
|
||||
soap.getProperty("userSurname1").toString(),
|
||||
// userSurname1
|
||||
soap.getProperty("userSurname2").toString(),
|
||||
// userSurname2
|
||||
soap.getProperty("userFirstname").toString(),
|
||||
// userFirstname
|
||||
soap.getProperty("userPhoto").toString(), // photoPath
|
||||
soap.getProperty("userBirthday").toString(),
|
||||
// userBirthday
|
||||
Integer.parseInt(soap.getProperty("userRole").toString()) // userRole
|
||||
);
|
||||
|
||||
Login.setLogged(true);
|
||||
Login.setLoggedUser(user);
|
||||
|
||||
//Update application last login time
|
||||
Login.setLastLoginTime(System.currentTimeMillis());
|
||||
|
||||
if (isDebuggable) {
|
||||
Log.d(TAG, "id=" + user.getId());
|
||||
Log.d(TAG, "wsKey=" + user.getWsKey());
|
||||
Log.d(TAG, "userID=" + user.getUserID());
|
||||
Log.d(TAG, "userNickname=" + user.getUserNickname());
|
||||
Log.d(TAG, "userSurname1=" + user.getUserSurname1());
|
||||
Log.d(TAG, "userSurname2=" + user.getUserSurname2());
|
||||
Log.d(TAG, "userFirstName=" + user.getUserFirstname());
|
||||
Log.d(TAG, "userPhoto=" + user.getUserPhoto());
|
||||
Log.d(TAG, "userBirthday=" + ((user.getUserBirthday() != null) ? user
|
||||
.getUserBirthday().getTime() : "null"));
|
||||
Log.d(TAG, "userRole=" + user.getUserRole());
|
||||
Log.d(TAG, "isLogged=" + Login.isLogged());
|
||||
Log.d(TAG, "lastLoginTime=" + Login.getLastLoginTime());
|
||||
}
|
||||
} else {
|
||||
Log.e(TAG, "Error logging user (result=null)");
|
||||
onError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void returnResult() {
|
||||
EventBus.getDefault().post(new LoginEvent(Login.isLogged()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onError() {
|
||||
super.onError();
|
||||
|
||||
// Force logout and reset password (this will show again
|
||||
// the login screen)
|
||||
Log.e(TAG, "loggin off user...");
|
||||
Login.setLogged(false);
|
||||
Preferences.setUserPassword("");
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@
|
|||
* along with SWADroid. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package es.ugr.swad.swadroid.modules;
|
||||
package es.ugr.swad.swadroid.modules.Login;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
@ -28,6 +28,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.Preferences;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -37,7 +38,7 @@ import es.ugr.swad.swadroid.webservices.SOAPClient;
|
|||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
|
||||
* @author Antonio Aguilera Malagon <aguilerin@gmail.com>
|
||||
*/
|
||||
public class Login extends Module {
|
||||
public class OldLogin extends Module {
|
||||
|
||||
/**
|
||||
* Time to force relogin
|
||||
|
@ -84,7 +85,7 @@ public class Login extends Module {
|
|||
* @param logged User logged flag
|
||||
*/
|
||||
public static void setLogged(boolean logged) {
|
||||
Login.logged = logged;
|
||||
OldLogin.logged = logged;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -98,7 +99,7 @@ public class Login extends Module {
|
|||
* Sets the user logged on SWAD
|
||||
*/
|
||||
public static void setLoggedUser(User loggedUser) {
|
||||
Login.loggedUser = loggedUser;
|
||||
OldLogin.loggedUser = loggedUser;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -116,7 +117,7 @@ public class Login extends Module {
|
|||
* @param l Start time of application
|
||||
*/
|
||||
public static void setLastLoginTime(long l) {
|
||||
Login.lastLoginTime = l;
|
||||
OldLogin.lastLoginTime = l;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -183,12 +184,12 @@ public class Login extends Module {
|
|||
throws Exception {
|
||||
|
||||
//If last login time > Global.RELOGIN_TIME, force login
|
||||
if (System.currentTimeMillis() - Login.getLastLoginTime() > Login.RELOGIN_TIME) {
|
||||
Login.setLogged(false);
|
||||
if (System.currentTimeMillis() - OldLogin.getLastLoginTime() > OldLogin.RELOGIN_TIME) {
|
||||
OldLogin.setLogged(false);
|
||||
}
|
||||
|
||||
//If the application isn't logged, force login
|
||||
if (!Login.isLogged()) {
|
||||
if (!OldLogin.isLogged()) {
|
||||
String userID = Preferences.getUserID();
|
||||
|
||||
//If the user ID is a DNI
|
||||
|
@ -233,11 +234,11 @@ public class Login extends Module {
|
|||
Integer.parseInt(soap.getProperty("userRole").toString()) // userRole
|
||||
);
|
||||
|
||||
Login.setLogged(true);
|
||||
Login.setLoggedUser(user);
|
||||
OldLogin.setLogged(true);
|
||||
OldLogin.setLoggedUser(user);
|
||||
|
||||
//Update application last login time
|
||||
Login.setLastLoginTime(System.currentTimeMillis());
|
||||
OldLogin.setLastLoginTime(System.currentTimeMillis());
|
||||
|
||||
if (isDebuggable) {
|
||||
Log.d(TAG, "id=" + user.getId());
|
||||
|
@ -251,8 +252,8 @@ public class Login extends Module {
|
|||
Log.d(TAG, "userBirthday=" + ((user.getUserBirthday() != null) ? user
|
||||
.getUserBirthday().getTime() : "null"));
|
||||
Log.d(TAG, "userRole=" + user.getUserRole());
|
||||
Log.d(TAG, "isLogged=" + Login.isLogged());
|
||||
Log.d(TAG, "lastLoginTime=" + Login.getLastLoginTime());
|
||||
Log.d(TAG, "isLogged=" + OldLogin.isLogged());
|
||||
Log.d(TAG, "lastLoginTime=" + OldLogin.getLastLoginTime());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,13 +19,6 @@
|
|||
|
||||
package es.ugr.swad.swadroid.modules;
|
||||
|
||||
import org.apache.http.client.ClientProtocolException;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.ksoap2.SoapFault;
|
||||
import org.ksoap2.transport.HttpResponseException;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.ProgressDialog;
|
||||
|
@ -37,6 +30,13 @@ import android.os.Bundle;
|
|||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.apache.http.client.ClientProtocolException;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.ksoap2.SoapFault;
|
||||
import org.ksoap2.transport.HttpResponseException;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.net.SocketTimeoutException;
|
||||
|
@ -49,6 +49,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.Preferences;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.gui.MenuActivity;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.IWebserviceClient;
|
||||
import es.ugr.swad.swadroid.webservices.RESTClient;
|
||||
|
@ -137,8 +138,8 @@ public abstract class Module extends MenuActivity {
|
|||
Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
// If this is not the Login module, launch login check
|
||||
if (!(this instanceof Login)) {
|
||||
Intent loginActivity = new Intent(this, Login.class);
|
||||
if (!(this instanceof OldLogin)) {
|
||||
Intent loginActivity = new Intent(this, OldLogin.class);
|
||||
startActivityForResult(loginActivity,
|
||||
Constants.LOGIN_REQUEST_CODE);
|
||||
}
|
||||
|
@ -236,7 +237,7 @@ public abstract class Module extends MenuActivity {
|
|||
* getString(R.string.loginSuccessfulMsg));
|
||||
*/
|
||||
|
||||
if (!(this instanceof Login)) {
|
||||
if (!(this instanceof OldLogin)) {
|
||||
connect();
|
||||
}
|
||||
|
||||
|
@ -429,7 +430,7 @@ public abstract class Module extends MenuActivity {
|
|||
|
||||
// Force logout and reset password (this will show again
|
||||
// the login screen)
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
Preferences.setUserPassword("");
|
||||
} else if (es.faultstring.equals("Unknown application key")) {
|
||||
errorMsg = getString(R.string.errorBadAppKeyMsg);
|
||||
|
|
|
@ -36,6 +36,7 @@ import es.ugr.swad.swadroid.R;
|
|||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.gui.DialogFactory;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
/**
|
||||
|
@ -137,7 +138,7 @@ public class Notices extends Module {
|
|||
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) selectedCourseCode);
|
||||
addParam("body", body);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -47,7 +47,7 @@ public class DirectoryTreeDownload extends Module {
|
|||
@Override
|
||||
protected void requestService() throws Exception {
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) Courses.getSelectedCourseCode());
|
||||
addParam("groupCode", group);
|
||||
addParam("treeCode", treeCode);
|
||||
|
|
|
@ -31,7 +31,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.model.Group;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -98,7 +98,7 @@ public class GetFile extends Module {
|
|||
protected void requestService() throws Exception {
|
||||
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("fileCode", (int) fileCode);
|
||||
sendRequest(Group.class, false);
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ import es.ugr.swad.swadroid.model.Model;
|
|||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.GroupTypes;
|
||||
import es.ugr.swad.swadroid.modules.Groups;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
|
||||
/**
|
||||
* Activity to manage the enrollments into groups. It is responsible for maintain the UI and send
|
||||
|
@ -262,7 +262,7 @@ public class MyGroupsManager extends MenuExpandableListActivity {
|
|||
groupTypes = (ArrayList<Model>) dbHelper.getAllRows(DataBaseHelper.DB_TABLE_GROUP_TYPES,
|
||||
"courseCode =" + String.valueOf(courseCode), "groupTypeName");
|
||||
LongSparseArray<ArrayList<Group>> children = getHashMapGroups(groupTypes);
|
||||
int currentRole = Login.getCurrentUserRole();
|
||||
int currentRole = OldLogin.getCurrentUserRole();
|
||||
EnrollmentExpandableListAdapter adapter = new EnrollmentExpandableListAdapter(this,
|
||||
groupTypes, children, R.layout.group_type_list_item, R.layout.group_list_item,
|
||||
currentRole);
|
||||
|
|
|
@ -33,7 +33,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.model.Group;
|
||||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -116,7 +116,7 @@ public class SendMyGroups extends Module {
|
|||
protected void requestService() throws Exception {
|
||||
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) courseCode);
|
||||
addParam("myGroups", myGroups);
|
||||
sendRequest(Group.class, false);
|
||||
|
|
|
@ -18,7 +18,7 @@ import es.ugr.swad.swadroid.R;
|
|||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -167,7 +167,7 @@ public class Information extends Module {
|
|||
@Override
|
||||
protected void requestService() throws Exception {
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", Courses.getSelectedCourseCode());
|
||||
addParam("infoType", infoTypeToAdd);
|
||||
sendRequest(User.class, true);
|
||||
|
|
|
@ -37,7 +37,7 @@ import es.ugr.swad.swadroid.Constants;
|
|||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -174,7 +174,7 @@ public class Messages extends Module {
|
|||
addFootBody();
|
||||
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("messageCode", eventCode.intValue());
|
||||
addParam("to", receivers);
|
||||
addParam("subject", subject);
|
||||
|
|
|
@ -56,7 +56,7 @@ import es.ugr.swad.swadroid.database.DataBaseHelper;
|
|||
import es.ugr.swad.swadroid.gui.AlertNotificationFactory;
|
||||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.model.SWADNotification;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.sync.SyncUtils;
|
||||
import es.ugr.swad.swadroid.utils.DateTimeUtils;
|
||||
|
@ -221,10 +221,10 @@ public class Notifications extends Module implements
|
|||
hideSwipeProgress();
|
||||
|
||||
//If today is the user birthday, show birthday message
|
||||
if ((Login.getLoggedUser() != null)
|
||||
&& DateTimeUtils.isBirthday(Login.getLoggedUser().getUserBirthday())) {
|
||||
if ((OldLogin.getLoggedUser() != null)
|
||||
&& DateTimeUtils.isBirthday(OldLogin.getLoggedUser().getUserBirthday())) {
|
||||
mBirthdayTextView.setText(getString(R.string.birthdayMsg).replace(
|
||||
Constants.USERNAME_TEMPLATE, Login.getLoggedUser().getUserFirstname()));
|
||||
Constants.USERNAME_TEMPLATE, OldLogin.getLoggedUser().getUserFirstname()));
|
||||
mBirthdayLayout.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBirthdayLayout.setVisibility(View.GONE);
|
||||
|
@ -427,7 +427,7 @@ public class Notifications extends Module implements
|
|||
// Creates webservice request, adds required params and sends
|
||||
// request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("beginTime", timestamp);
|
||||
sendRequest(SWADNotification.class, false);
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ import android.util.Log;
|
|||
import es.ugr.swad.swadroid.Constants;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
@ -81,7 +81,7 @@ public class NotificationsMarkAllAsRead extends Module {
|
|||
|
||||
//Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("notifications", seenNotifCodes);
|
||||
sendRequest(Integer.class, false);
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ import es.ugr.swad.swadroid.gui.AlertNotificationFactory;
|
|||
import es.ugr.swad.swadroid.model.Model;
|
||||
import es.ugr.swad.swadroid.model.SWADNotification;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.ssl.SecureConnection;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.IWebserviceClient;
|
||||
|
@ -182,11 +182,11 @@ public class NotificationsSyncAdapterService extends Service {
|
|||
Integer.parseInt(soap.getProperty("userRole").toString()) // userRole
|
||||
);
|
||||
|
||||
Login.setLoggedUser(loggedUser);
|
||||
Login.setLogged(true);
|
||||
OldLogin.setLoggedUser(loggedUser);
|
||||
OldLogin.setLogged(true);
|
||||
|
||||
//Update application last login time
|
||||
Login.setLastLoginTime(System.currentTimeMillis());
|
||||
OldLogin.setLastLoginTime(System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -201,7 +201,7 @@ public class NotificationsSyncAdapterService extends Service {
|
|||
METHOD_NAME = "getNotifications";
|
||||
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("beginTime", timestamp);
|
||||
sendRequest(SWADNotification.class, false);
|
||||
|
||||
|
@ -317,17 +317,17 @@ public class NotificationsSyncAdapterService extends Service {
|
|||
}
|
||||
|
||||
//If last login time > Global.RELOGIN_TIME, force login
|
||||
if (Login.isLogged() &&
|
||||
((System.currentTimeMillis() - Login.getLastLoginTime()) > Login.RELOGIN_TIME)) {
|
||||
if (OldLogin.isLogged() &&
|
||||
((System.currentTimeMillis() - OldLogin.getLastLoginTime()) > OldLogin.RELOGIN_TIME)) {
|
||||
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
}
|
||||
|
||||
if (!Login.isLogged()) {
|
||||
if (!OldLogin.isLogged()) {
|
||||
logUser();
|
||||
}
|
||||
|
||||
if (Login.isLogged()) {
|
||||
if (OldLogin.isLogged()) {
|
||||
getNotifications();
|
||||
|
||||
if (notifCount > 0) {
|
||||
|
@ -460,7 +460,7 @@ public class NotificationsSyncAdapterService extends Service {
|
|||
sendException = false;
|
||||
|
||||
//Force logout and reset password (this will show again the login screen)
|
||||
Login.setLogged(false);
|
||||
OldLogin.setLogged(false);
|
||||
Preferences.setUserPassword("");
|
||||
} else if (es.faultstring.equals("Unknown application key")) {
|
||||
errorMessage = mContext.getString(R.string.errorBadAppKeyMsg);
|
||||
|
|
|
@ -34,7 +34,7 @@ import es.ugr.swad.swadroid.R;
|
|||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.Event;
|
||||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
@ -93,7 +93,7 @@ public class EventsDownload extends Module {
|
|||
|
||||
// Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) courseCode);
|
||||
sendRequest(Event.class, false);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ import es.ugr.swad.swadroid.R;
|
|||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.User;
|
||||
import es.ugr.swad.swadroid.model.UserAttendance;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
||||
|
@ -91,7 +91,7 @@ public class UsersDownload extends Module {
|
|||
protected void requestService() throws Exception {
|
||||
// Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("attendanceEventCode", eventCode);
|
||||
sendRequest(UserAttendance.class, false);
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ import android.widget.Toast;
|
|||
import es.ugr.swad.swadroid.Constants;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
@ -105,7 +105,7 @@ public class UsersSend extends Module {
|
|||
protected void requestService() throws Exception {
|
||||
// Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("attendanceEventCode", String.valueOf(eventCode));
|
||||
addParam("users", usersCodes);
|
||||
addParam("setOthersAsAbsent", String.valueOf(setOthersAsAbsent));
|
||||
|
|
|
@ -30,7 +30,7 @@ import es.ugr.swad.swadroid.R;
|
|||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.model.Test;
|
||||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.SOAPClient;
|
||||
|
@ -102,7 +102,7 @@ public class TestsConfigDownload extends Module {
|
|||
|
||||
//Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) Courses.getSelectedCourseCode());
|
||||
sendRequest(Test.class, true);
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ import es.ugr.swad.swadroid.model.TestAnswer;
|
|||
import es.ugr.swad.swadroid.model.TestQuestion;
|
||||
import es.ugr.swad.swadroid.model.TestTag;
|
||||
import es.ugr.swad.swadroid.modules.Courses;
|
||||
import es.ugr.swad.swadroid.modules.Login;
|
||||
import es.ugr.swad.swadroid.modules.Login.OldLogin;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.DateTimeUtils;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
|
@ -92,7 +92,7 @@ public class TestsQuestionsDownload extends Module {
|
|||
|
||||
//Creates webservice request, adds required params and sends request to webservice
|
||||
createRequest(SOAPClient.CLIENT_TYPE);
|
||||
addParam("wsKey", Login.getLoggedUser().getWsKey());
|
||||
addParam("wsKey", OldLogin.getLoggedUser().getWsKey());
|
||||
addParam("courseCode", (int) Courses.getSelectedCourseCode());
|
||||
addParam("beginTime", timestamp);
|
||||
sendRequest(Test.class, false);
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
package es.ugr.swad.swadroid.services;
|
||||
|
||||
import android.app.IntentService;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.util.Log;
|
||||
|
||||
import es.ugr.swad.swadroid.Constants;
|
||||
import es.ugr.swad.swadroid.Preferences;
|
||||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.IWebserviceClient;
|
||||
|
||||
/**
|
||||
* An {@link IntentService} subclass for handling asynchronous task requests in
|
||||
* a service on a separate handler thread.
|
||||
* <p/>
|
||||
*/
|
||||
public abstract class AbstractIntentService extends IntentService {
|
||||
/**
|
||||
* Tag name for Logcat
|
||||
*/
|
||||
public static final String TAG = Constants.APP_TAG + " AbstractIntentService";
|
||||
|
||||
/**
|
||||
* Client for SWAD webservices
|
||||
*/
|
||||
protected IWebserviceClient webserviceClient;
|
||||
|
||||
/**
|
||||
* Webservice result.
|
||||
*/
|
||||
protected Object result;
|
||||
|
||||
/**
|
||||
* Application debuggable flag
|
||||
*/
|
||||
protected static boolean isDebuggable;
|
||||
|
||||
/**
|
||||
* Database Helper.
|
||||
*/
|
||||
protected static DataBaseHelper dbHelper;
|
||||
|
||||
/**
|
||||
* Application preferences
|
||||
*/
|
||||
protected static Preferences prefs;
|
||||
|
||||
public AbstractIntentService() {
|
||||
super("AbstractIntentService");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
try {
|
||||
//Initialize preferences
|
||||
prefs = new Preferences(this);
|
||||
|
||||
//Initialize database
|
||||
dbHelper = new DataBaseHelper(this);
|
||||
|
||||
getPackageManager().getApplicationInfo(
|
||||
getPackageName(), 0);
|
||||
isDebuggable = (ApplicationInfo.FLAG_DEBUGGABLE != 0);
|
||||
} catch (Exception e) {
|
||||
Utils.error(this, TAG, e.getMessage(), e, true, isDebuggable);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets service parameters from intent
|
||||
* @param intent Intent containing service parameters
|
||||
*/
|
||||
protected abstract void getParams(Intent intent);
|
||||
/**
|
||||
* Connects to SWAD and gets user data.
|
||||
*/
|
||||
protected abstract void requestService() throws Exception;
|
||||
|
||||
/**
|
||||
* Returns result of service to caller
|
||||
*/
|
||||
protected abstract void returnResult();
|
||||
|
||||
protected void onError() {
|
||||
// Launch database rollback
|
||||
if (dbHelper.isDbInTransaction()) {
|
||||
Log.e(TAG, "Stopping pending database transaction");
|
||||
dbHelper.endTransaction(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onHandleIntent(Intent intent) {
|
||||
try {
|
||||
getParams(intent);
|
||||
requestService();
|
||||
} catch (Exception e) {
|
||||
onError();
|
||||
Utils.error(this, TAG, e.getMessage(), e, true, isDebuggable);
|
||||
}
|
||||
returnResult();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
package es.ugr.swad.swadroid.services;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.util.Log;
|
||||
|
||||
import es.ugr.swad.swadroid.Constants;
|
||||
import es.ugr.swad.swadroid.Preferences;
|
||||
import es.ugr.swad.swadroid.database.DataBaseHelper;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
import es.ugr.swad.swadroid.webservices.IWebserviceClient;
|
||||
|
||||
/**
|
||||
* A {@link Service} subclass for handling asynchronous task requests in
|
||||
* a service on a separate handler thread.
|
||||
* <p/>
|
||||
*/
|
||||
public abstract class AbstractService extends Service {
|
||||
/**
|
||||
* Tag name for Logcat
|
||||
*/
|
||||
public static final String TAG = Constants.APP_TAG + " AbstractService";
|
||||
|
||||
/**
|
||||
* Application debuggable flag
|
||||
*/
|
||||
protected static boolean isDebuggable;
|
||||
|
||||
/**
|
||||
* Database Helper.
|
||||
*/
|
||||
protected static DataBaseHelper dbHelper;
|
||||
|
||||
/**
|
||||
* Application preferences
|
||||
*/
|
||||
protected static Preferences prefs;
|
||||
|
||||
/**
|
||||
* Client for SWAD webservices
|
||||
*/
|
||||
protected IWebserviceClient webserviceClient;
|
||||
|
||||
/**
|
||||
* Webservice result.
|
||||
*/
|
||||
protected Object result;
|
||||
|
||||
public AbstractService() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
try {
|
||||
//Initialize preferences
|
||||
prefs = new Preferences(this);
|
||||
|
||||
//Initialize database
|
||||
dbHelper = new DataBaseHelper(this);
|
||||
|
||||
getPackageManager().getApplicationInfo(
|
||||
getPackageName(), 0);
|
||||
isDebuggable = (ApplicationInfo.FLAG_DEBUGGABLE != 0);
|
||||
} catch (Exception e) {
|
||||
Utils.error(this, TAG, e.getMessage(), e, true, isDebuggable);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets service parameters from intent
|
||||
* @param intent Intent containing service parameters
|
||||
*/
|
||||
protected abstract void getParams(Intent intent);
|
||||
/**
|
||||
* Connects to SWAD and gets user data.
|
||||
*/
|
||||
protected abstract void requestService() throws Exception;
|
||||
|
||||
/**
|
||||
* Returns result of service to caller
|
||||
*/
|
||||
protected abstract void returnResult();
|
||||
|
||||
protected void onError() {
|
||||
// Launch database rollback
|
||||
if (dbHelper.isDbInTransaction()) {
|
||||
Log.e(TAG, "Stopping pending database transaction");
|
||||
dbHelper.endTransaction(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
try {
|
||||
getParams(intent);
|
||||
requestService();
|
||||
} catch (Exception e) {
|
||||
onError();
|
||||
Utils.error(this, TAG, e.getMessage(), e, true, isDebuggable);
|
||||
}
|
||||
|
||||
returnResult();
|
||||
return super.onStartCommand(intent, flags, startId);
|
||||
}
|
||||
}
|
|
@ -22,6 +22,7 @@ package es.ugr.swad.swadroid.utils;
|
|||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.util.Log;
|
||||
|
||||
import java.text.Normalizer;
|
||||
import java.util.Iterator;
|
||||
|
@ -30,6 +31,7 @@ import java.util.Random;
|
|||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import es.ugr.swad.swadroid.SWADroidTracker;
|
||||
import es.ugr.swad.swadroid.model.Model;
|
||||
|
||||
/**
|
||||
|
@ -239,4 +241,14 @@ public class Utils {
|
|||
return pattern.matcher(temp).replaceAll("");
|
||||
}
|
||||
|
||||
public static void error(Context context, String tag, String errorMsg, Exception ex,
|
||||
boolean sendException, boolean isDebuggable) {
|
||||
Log.e(tag, ex.getMessage(), ex);
|
||||
|
||||
// Send exception details to Google Analytics
|
||||
if (!isDebuggable && sendException) {
|
||||
SWADroidTracker.sendException(context, ex, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -25,11 +25,11 @@ package es.ugr.swad.swadroid.webservices;
|
|||
*/
|
||||
public interface IWebserviceClient {
|
||||
|
||||
public void createRequest();
|
||||
void createRequest();
|
||||
|
||||
public void addParam(String param, Object value);
|
||||
void addParam(String param, Object value);
|
||||
|
||||
public void setMETHOD_NAME(String METHOD_NAME);
|
||||
void setMETHOD_NAME(String METHOD_NAME);
|
||||
|
||||
public Object getResult();
|
||||
Object getResult();
|
||||
}
|
||||
|
|
|
@ -18,17 +18,28 @@
|
|||
*/
|
||||
package es.ugr.swad.swadroid.webservices;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.util.Log;
|
||||
|
||||
import org.ksoap2.SoapEnvelope;
|
||||
import org.ksoap2.SoapFault;
|
||||
import org.ksoap2.serialization.SoapObject;
|
||||
import org.ksoap2.serialization.SoapSerializationEnvelope;
|
||||
import org.ksoap2.transport.HttpResponseException;
|
||||
import org.ksoap2.transport.KeepAliveHttpsTransportSE;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.util.Log;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import javax.net.ssl.SSLException;
|
||||
|
||||
import es.ugr.swad.swadroid.Constants;
|
||||
import es.ugr.swad.swadroid.Preferences;
|
||||
import es.ugr.swad.swadroid.R;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
|
||||
/**
|
||||
* SOAP client for SWAD webservices
|
||||
|
@ -87,6 +98,11 @@ public class SOAPClient implements IWebserviceClient {
|
|||
*/
|
||||
private Object result;
|
||||
|
||||
/**
|
||||
* Context of caller
|
||||
*/
|
||||
private Context context;
|
||||
|
||||
/**
|
||||
* Default constructor
|
||||
*/
|
||||
|
@ -103,13 +119,15 @@ public class SOAPClient implements IWebserviceClient {
|
|||
* @param SOAP_ACTION SOAP_ACTION param for webservice request
|
||||
* @param METHOD_NAME METHOD_NAME param for webservice request
|
||||
* @param NAMESPACE NAMESPACE param for webservice request
|
||||
* @param context Context of caller
|
||||
*/
|
||||
public SOAPClient(String SERVER, String SOAP_ACTION, String METHOD_NAME,
|
||||
String NAMESPACE) {
|
||||
String NAMESPACE, Context context) {
|
||||
this.SERVER = SERVER;
|
||||
this.SOAP_ACTION = SOAP_ACTION;
|
||||
this.METHOD_NAME = METHOD_NAME;
|
||||
this.NAMESPACE = NAMESPACE;
|
||||
this.context = context;
|
||||
isDebuggable = (ApplicationInfo.FLAG_DEBUGGABLE != 0);
|
||||
}
|
||||
|
||||
|
@ -195,12 +213,30 @@ public class SOAPClient implements IWebserviceClient {
|
|||
public Object getResult() {
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* Gets the context of caller
|
||||
*
|
||||
* @return the context of caller
|
||||
*/
|
||||
public Context getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the context of caller
|
||||
*
|
||||
* @param context the context of caller
|
||||
*/
|
||||
public void setContext(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates webservice request.
|
||||
*/
|
||||
@Override
|
||||
public void createRequest() {
|
||||
Log.i(TAG, "Creating SOAP request...");
|
||||
request = new SoapObject(NAMESPACE, METHOD_NAME);
|
||||
result = null;
|
||||
}
|
||||
|
@ -213,6 +249,9 @@ public class SOAPClient implements IWebserviceClient {
|
|||
*/
|
||||
@Override
|
||||
public void addParam(String param, Object value) {
|
||||
if(isDebuggable)
|
||||
Log.d(TAG, "Adding SOAP param " + param + "=" + value);
|
||||
|
||||
request.addProperty(param, value);
|
||||
}
|
||||
|
||||
|
@ -284,6 +323,7 @@ public class SOAPClient implements IWebserviceClient {
|
|||
Log.e(TAG, connection.responseDump.toString());
|
||||
}
|
||||
|
||||
onError(e);
|
||||
throw e;
|
||||
}
|
||||
} else {
|
||||
|
@ -297,4 +337,67 @@ public class SOAPClient implements IWebserviceClient {
|
|||
}
|
||||
}
|
||||
|
||||
protected void onError(Exception e) {
|
||||
String errorMsg;
|
||||
int httpStatusCode;
|
||||
boolean sendException = true;
|
||||
|
||||
/**
|
||||
* If an exception has occurred, shows error message according
|
||||
* to exception type.
|
||||
*/
|
||||
if (e instanceof SoapFault) {
|
||||
SoapFault es = (SoapFault) e;
|
||||
|
||||
if (es.faultstring.equals("Bad log in")) {
|
||||
errorMsg = context.getString(R.string.errorBadLoginMsg);
|
||||
sendException = false;
|
||||
} else if (es.faultstring.equals("Bad web service key")) {
|
||||
errorMsg = context.getString(R.string.errorBadLoginMsg);
|
||||
sendException = false;
|
||||
} else if (es.faultstring.equals("Unknown application key")) {
|
||||
errorMsg = context.getString(R.string.errorBadAppKeyMsg);
|
||||
} else {
|
||||
errorMsg = "Server error: " + es.getMessage();
|
||||
}
|
||||
} else if ((e instanceof CertificateException) || (e instanceof SSLException)) {
|
||||
errorMsg = context.getString(R.string.errorServerCertificateMsg);
|
||||
} else if (e instanceof XmlPullParserException) {
|
||||
errorMsg = context.getString(R.string.errorServerResponseMsg);
|
||||
} else if ((e instanceof TimeoutException)
|
||||
|| (e instanceof SocketTimeoutException)) {
|
||||
errorMsg = context.getString(R.string.errorTimeoutMsg);
|
||||
sendException = false;
|
||||
} else if (e instanceof HttpResponseException) {
|
||||
httpStatusCode = ((HttpResponseException) e).getStatusCode();
|
||||
|
||||
Log.e(TAG, "httpStatusCode=" + httpStatusCode);
|
||||
|
||||
switch (httpStatusCode) {
|
||||
case 500:
|
||||
errorMsg = context.getString(R.string.errorInternalServerMsg);
|
||||
break;
|
||||
|
||||
case 503:
|
||||
errorMsg = context.getString(R.string.errorServiceUnavailableMsg);
|
||||
sendException = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
errorMsg = e.getMessage();
|
||||
if ((errorMsg == null) || errorMsg.equals("")) {
|
||||
errorMsg = context.getString(R.string.errorConnectionMsg);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
errorMsg = e.getMessage();
|
||||
if ((errorMsg == null) || errorMsg.equals("")) {
|
||||
errorMsg = context.getString(R.string.errorConnectionMsg);
|
||||
}
|
||||
}
|
||||
|
||||
// Request finalized with errors
|
||||
Utils.error(context, TAG, errorMsg, e, sendException, isDebuggable);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.database.DataBaseHelper" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/database/DataBaseHelper.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="1609" width="548" x="323" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.database.DataBaseHelperException" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/database/DataBaseHelperException.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="242" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,250 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.downloads.Downloads" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/Downloads.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="1195" width="277" x="1727" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadsManager.onGroupSelectedListener"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadsManager.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="279" x="873" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.modules.downloads.DirectoryTreeDownload.DirectoryTree"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DirectoryTreeDownload.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="183" x="1504" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.modules.downloads.NodeAdapter.ViewHolder" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/NodeAdapter.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="183" x="576" y="2831"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.modules.downloads.InvalidPathException" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DirectoryNavigator.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="183" x="899" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.modules.downloads.FileDownloaderAsyncTask" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/FileDownloaderAsyncTask.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="255" x="381" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadManager.Request" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadManager.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="565" width="326" x="2616" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.modules.downloads.DirectoryTreeDownload" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DirectoryTreeDownload.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="183" x="1504" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="9" language="java" name="es.ugr.swad.swadroid.modules.downloads.Downloads.Impl.RequestHeaders"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/Downloads.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="185" x="1727" y="2831"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="10" language="java" name="es.ugr.swad.swadroid.modules.downloads.DirectoryItem" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DirectoryItem.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="565" width="318" x="884" y="2831"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="11" language="java" name="es.ugr.swad.swadroid.modules.downloads.Downloads.Impl" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/Downloads.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="1519" width="293" x="1727" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="12" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadManager" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadManager.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="997" width="271" x="2296" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="13" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadManager.Query" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadManager.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="331" width="280" x="2296" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="14" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadFactory" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadFactory.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="300" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="15" language="java" name="es.ugr.swad.swadroid.modules.downloads.DirectoryNavigator" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DirectoryNavigator.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="385" width="272" x="1192" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="16" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadManager.CursorTranslator"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadManager.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="493" width="196" x="2060" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="17" language="java" name="es.ugr.swad.swadroid.modules.downloads.GetFile" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/GetFile.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="241" width="183" x="676" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="18" language="java" name="es.ugr.swad.swadroid.modules.downloads.NodeAdapter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/NodeAdapter.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="257" x="576" y="1272"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="19" language="java" name="es.ugr.swad.swadroid.modules.downloads.DownloadsManager" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/downloads/DownloadsManager.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="727" width="342" x="1122" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="20">
|
||||
<end type="SOURCE" refId="12"/>
|
||||
<end type="TARGET" refId="7"/>
|
||||
</nesting>
|
||||
<association id="21">
|
||||
<end type="SOURCE" refId="19" navigable="false">
|
||||
<attribute id="22" name="navigator"/>
|
||||
<multiplicity id="23" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="15" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="24">
|
||||
<end type="SOURCE" refId="18"/>
|
||||
<end type="TARGET" refId="4"/>
|
||||
</nesting>
|
||||
<nesting id="25">
|
||||
<end type="SOURCE" refId="12"/>
|
||||
<end type="TARGET" refId="16"/>
|
||||
</nesting>
|
||||
<nesting id="26">
|
||||
<end type="SOURCE" refId="1"/>
|
||||
<end type="TARGET" refId="11"/>
|
||||
</nesting>
|
||||
<association id="27">
|
||||
<end type="SOURCE" refId="15" navigable="false">
|
||||
<attribute id="28" name="currentItems"/>
|
||||
<multiplicity id="29" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="10" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="30">
|
||||
<end type="SOURCE" refId="12"/>
|
||||
<end type="TARGET" refId="13"/>
|
||||
</nesting>
|
||||
<nesting id="31">
|
||||
<end type="SOURCE" refId="11"/>
|
||||
<end type="TARGET" refId="9"/>
|
||||
</nesting>
|
||||
<nesting id="32">
|
||||
<end type="SOURCE" refId="19"/>
|
||||
<end type="TARGET" refId="2"/>
|
||||
</nesting>
|
||||
<association id="33">
|
||||
<end type="SOURCE" refId="18" navigable="false">
|
||||
<attribute id="34" name="list"/>
|
||||
<multiplicity id="35" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="10" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="36">
|
||||
<end type="SOURCE" refId="8"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
109
doc/UML/GUI.ucls
109
doc/UML/GUI.ucls
|
@ -1,109 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.gui.ImageListItem" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/ImageListItem.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="140" x="4195" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.gui.ImageExpandableListAdapter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/ImageExpandableListAdapter.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="367" width="768" x="1716" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.gui.ImageListAdapter.ViewHolder" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/ImageListAdapter.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="140" x="3890" y="498"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.gui.ImageListAdapter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/ImageListAdapter.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="265" x="3890" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.gui.MenuExpandableListActivity" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/MenuExpandableListActivity.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="421" width="231" x="3619" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.gui.MenuActivity" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/MenuActivity.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="385" width="231" x="770" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.gui.ImageFactory" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/ImageFactory.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="326" x="3253" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.gui.DialogFactory" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/DialogFactory.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="635" x="1041" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="9" language="java" name="es.ugr.swad.swadroid.gui.AlertNotificationFactory" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/AlertNotificationFactory.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="169" width="689" x="2524" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="10" language="java" name="es.ugr.swad.swadroid.gui.ImageExpandableListAdapter.ViewHolder"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/gui/ImageExpandableListAdapter.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="126" x="1716" y="498"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="11">
|
||||
<end type="SOURCE" refId="2"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</nesting>
|
||||
<nesting id="12">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,66 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.groups.SendMyGroups" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/groups/SendMyGroups.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="277" width="168" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.modules.groups.MyGroupsManager" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/groups/MyGroupsManager.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="439" width="404" x="840" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.modules.groups.EnrollmentExpandableListAdapter.ChildHolder"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/groups/EnrollmentExpandableListAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="168" x="371" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.modules.groups.EnrollmentExpandableListAdapter"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/groups/EnrollmentExpandableListAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="511" width="551" x="249" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.modules.groups.EnrollmentExpandableListAdapter.GroupHolder"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/groups/EnrollmentExpandableListAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="204" x="127" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="6">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="5"/>
|
||||
</nesting>
|
||||
<nesting id="7">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.information.Information" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/information/Information.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="277" width="187" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,94 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.SWADMain" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/SWADMain.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="817" width="318" x="970" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.PasswordDialogPreference" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/PasswordDialogPreference.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="264" x="295" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.LoginActivity" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/LoginActivity.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="439" width="214" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.Constants" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/Constants.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="2005" width="295" x="1532" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.SWADMain.onItemSelectedListener" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/SWADMain.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="279" x="1097" y="2082"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.PreferencesActivity" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/PreferencesActivity.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="583" width="331" x="599" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.Preferences" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/Preferences.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="1195" width="213" x="844" y="2082"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.Config" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/Config.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="164" x="1328" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="9">
|
||||
<end type="SOURCE" refId="1"/>
|
||||
<end type="TARGET" refId="5"/>
|
||||
</nesting>
|
||||
<association id="10">
|
||||
<end type="SOURCE" refId="1" navigable="false">
|
||||
<attribute id="11" name="prefs"/>
|
||||
<multiplicity id="12" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="7" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,198 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.model.PracticeSession" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/PracticeSession.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="403" width="272" x="979" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.model.TestAnswer" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/TestAnswer.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="853" width="255" x="2787" y="2176"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.model.SWADNotification" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/SWADNotification.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="1141" width="529" x="2492" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.model.Test" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/Test.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="979" width="255" x="1586" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.model.TestTag" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/TestTag.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="475" width="255" x="684" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.model.User" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/User.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="763" width="308" x="41" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.model.Group" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/Group.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="745" width="255" x="1902" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.model.PairTable" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/PairTable.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="331" width="255" x="389" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="9" language="java" name="es.ugr.swad.swadroid.model.GroupType" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/GroupType.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="511" width="255" x="2197" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="10" language="java" name="es.ugr.swad.swadroid.model.Model" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/Model.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="138" x="1862" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="11" language="java" name="es.ugr.swad.swadroid.model.Pair" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/Pair.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="151" x="389" y="1445"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="12" language="java" name="es.ugr.swad.swadroid.model.Course" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/Course.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="439" width="255" x="1291" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="13" language="java" name="es.ugr.swad.swadroid.model.TestQuestion" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/model/TestQuestion.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="691" width="275" x="1862" y="1445"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<generalization id="14">
|
||||
<bendpoint x="3051" y="1445"/>
|
||||
<bendpoint x="3051" y="264"/>
|
||||
<end type="SOURCE" refId="2"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<association id="15">
|
||||
<end type="SOURCE" refId="4" navigable="false">
|
||||
<attribute id="16" name="questions"/>
|
||||
<multiplicity id="17" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="13" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<generalization id="18">
|
||||
<end type="SOURCE" refId="12"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="19">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<association id="20">
|
||||
<end type="SOURCE" refId="8" navigable="false">
|
||||
<attribute id="21" name="values"/>
|
||||
<multiplicity id="22" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="11" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<generalization id="23">
|
||||
<end type="SOURCE" refId="1"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="24">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="25">
|
||||
<end type="SOURCE" refId="8"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="26">
|
||||
<bendpoint x="1871" y="264"/>
|
||||
<end type="SOURCE" refId="13"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="27">
|
||||
<end type="SOURCE" refId="9"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="28">
|
||||
<end type="SOURCE" refId="5"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="29">
|
||||
<end type="SOURCE" refId="7"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<generalization id="30">
|
||||
<end type="SOURCE" refId="6"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<association id="31">
|
||||
<end type="SOURCE" refId="13" navigable="false">
|
||||
<attribute id="32" name="answers"/>
|
||||
<multiplicity id="33" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,131 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.RecoverPassword" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/RecoverPassword.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="241" width="162" x="41" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.modules.Groups" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/Groups.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="277" width="189" x="1363" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.modules.Module" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/Module.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="511" width="350" x="654" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.modules.Login" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/Login.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="241" width="137" x="243" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.modules.Notices" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/Notices.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="439" width="211" x="1112" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.modules.GroupTypes" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/GroupTypes.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="259" width="189" x="654" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.modules.Courses" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/Courses.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="259" width="189" x="883" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.modules.GenerateQR" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/GenerateQR.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="137" x="1592" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="9" language="java" name="es.ugr.swad.swadroid.modules.Module.Connect" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/Module.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="194" x="420" y="588"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<generalization id="10">
|
||||
<end type="SOURCE" refId="2"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<generalization id="11">
|
||||
<end type="SOURCE" refId="1"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<nesting id="12">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="9"/>
|
||||
</nesting>
|
||||
<generalization id="13">
|
||||
<end type="SOURCE" refId="6"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<association id="14">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="15" name="connect"/>
|
||||
<multiplicity id="16" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="9" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<generalization id="17">
|
||||
<end type="SOURCE" refId="5"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<generalization id="18">
|
||||
<end type="SOURCE" refId="7"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<generalization id="19">
|
||||
<end type="SOURCE" refId="8"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<generalization id="20">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</generalization>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,125 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.notifications.NotificationsExpandableListAdapter"
|
||||
project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/NotificationsExpandableListAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="421" width="446" x="649" y="876"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.modules.notifications.Notifications.SyncReceiver"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/Notifications.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="191" x="418" y="876"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.modules.notifications.NotificationItem" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/NotificationItem.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="367" width="230" x="45" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java"
|
||||
name="es.ugr.swad.swadroid.modules.notifications.NotificationsSyncAdapterService.SyncAdapterImpl" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/NotificationsSyncAdapterService.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="404" x="1135" y="876"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.modules.notifications.NotificationsSyncAdapterService"
|
||||
project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/NotificationsSyncAdapterService.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="583" width="432" x="1135" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.modules.notifications.Notifications" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/Notifications.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="799" width="230" x="546" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.modules.notifications.NotificationsMarkAllAsRead"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/NotificationsMarkAllAsRead.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="191" x="315" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.modules.notifications.NotificationsCursorAdapter"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/notifications/NotificationsCursorAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="279" x="816" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<association id="9">
|
||||
<end type="SOURCE" refId="5" navigable="false">
|
||||
<attribute id="10" name="sSyncAdapter"/>
|
||||
<multiplicity id="11" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="4" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="12">
|
||||
<end type="SOURCE" refId="5"/>
|
||||
<end type="TARGET" refId="4"/>
|
||||
</nesting>
|
||||
<association id="13">
|
||||
<end type="SOURCE" refId="6" navigable="false">
|
||||
<attribute id="14" name="adapter"/>
|
||||
<multiplicity id="15" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="1" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="16">
|
||||
<end type="SOURCE" refId="6"/>
|
||||
<end type="TARGET" refId="2"/>
|
||||
</nesting>
|
||||
<association id="17">
|
||||
<end type="SOURCE" refId="6" navigable="false">
|
||||
<attribute id="18" name="receiver"/>
|
||||
<multiplicity id="19" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,189 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.rollcall.RollcallConfigDownload" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/RollcallConfigDownload.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="259" width="166" x="1316" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.modules.rollcall.Rollcall" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/Rollcall.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="421" width="250" x="780" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.SeparatedListAdapter"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/SeparatedListAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="295" width="206" x="1522" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.SessionsArrayAdapter"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/SessionsArrayAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="300" x="2436" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.SessionsHistory" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/SessionsHistory.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="206" x="1070" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.SessionItemModel"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/SessionItemModel.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="206" x="2530" y="1074"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.SessionsList" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/SessionsList.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="259" width="206" x="289" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.SessionsArrayAdapter.ViewHolder"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/SessionsArrayAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="206" x="2284" y="1074"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="9" language="java" name="es.ugr.swad.swadroid.modules.rollcall.sessions.NewPracticeSession"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/sessions/NewPracticeSession.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="997" width="278" x="1768" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="10" language="java" name="es.ugr.swad.swadroid.modules.rollcall.students.StudentItemModel"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/students/StudentItemModel.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="259" width="205" x="780" y="1074"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="11" language="java" name="es.ugr.swad.swadroid.modules.rollcall.students.StudentsArrayAdapter.ViewHolder"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/students/StudentsArrayAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="133" width="205" x="2039" y="1074"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="12" language="java" name="es.ugr.swad.swadroid.modules.rollcall.students.StudentsArrayAdapter"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/students/StudentsArrayAdapter.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="310" x="2086" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="13" language="java" name="es.ugr.swad.swadroid.modules.rollcall.students.StudentsHistory"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/students/StudentsHistory.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="205" x="535" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="14" language="java" name="es.ugr.swad.swadroid.modules.rollcall.students.StudentsList" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/rollcall/students/StudentsList.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="241" width="205" x="44" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<association id="15">
|
||||
<end type="SOURCE" refId="13" navigable="false">
|
||||
<attribute id="16" name="studentsList"/>
|
||||
<multiplicity id="17" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="10" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="18">
|
||||
<end type="SOURCE" refId="4" navigable="false">
|
||||
<attribute id="19" name="list"/>
|
||||
<multiplicity id="20" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="6" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="21">
|
||||
<end type="SOURCE" refId="12"/>
|
||||
<end type="TARGET" refId="11"/>
|
||||
</nesting>
|
||||
<nesting id="22">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="8"/>
|
||||
</nesting>
|
||||
<association id="23">
|
||||
<end type="SOURCE" refId="2" navigable="false">
|
||||
<attribute id="24" name="studentsList"/>
|
||||
<multiplicity id="25" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="10" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="26">
|
||||
<end type="SOURCE" refId="12" navigable="false">
|
||||
<attribute id="27" name="list"/>
|
||||
<multiplicity id="28" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="10" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,62 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.ssl.UntrustedTrustManager" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/ssl/UntrustedTrustManager.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="133" width="267" x="395" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.ssl.AdditionalKeyStoresSSLSocketFactory" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/ssl/AdditionalKeyStoresSSLSocketFactory.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="259" width="314" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.ssl.UntrustedHostnameVerifier" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/ssl/UntrustedHostnameVerifier.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="193" x="702" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.ssl.SecureConnection" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/ssl/SecureConnection.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="169" width="202" x="935" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java"
|
||||
name="es.ugr.swad.swadroid.ssl.AdditionalKeyStoresSSLSocketFactory.AdditionalKeyStoresTrustManager"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/ssl/AdditionalKeyStoresSSLSocketFactory.java"
|
||||
binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="278" x="41" y="336"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="6">
|
||||
<end type="SOURCE" refId="2"/>
|
||||
<end type="TARGET" refId="5"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,77 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.sync.DummyProvider" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/sync/DummyProvider.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="247" x="627" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.sync.AccountAuthenticatorService.AccountAuthenticatorImpl"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/sync/AccountAuthenticatorService.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="423" x="346" y="264"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.sync.PeriodicSyncReceiver" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/sync/PeriodicSyncReceiver.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="133" width="300" x="914" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.sync.AccountAuthenticatorService" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/sync/AccountAuthenticatorService.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="241" x="346" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.sync.AccountAuthenticator" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/sync/AccountAuthenticator.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="148" x="1254" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.sync.SyncUtils" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/sync/SyncUtils.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="169" width="265" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<association id="7">
|
||||
<end type="SOURCE" refId="4" navigable="false">
|
||||
<attribute id="8" name="sAccountAuthenticator"/>
|
||||
<multiplicity id="9" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="10">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="2"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,98 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.modules.tests.AnswerTypesArrayAdapter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/AnswerTypesArrayAdapter.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="250" x="1875" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.modules.tests.TestsMake" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/TestsMake.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="583" width="321" x="837" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.modules.tests.TestsQuestionsDownload" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/TestsQuestionsDownload.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="170" x="627" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.modules.tests.TestsConfigDownload" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/TestsConfigDownload.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="241" width="161" x="1198" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.modules.tests.CheckedAnswersArrayAdapter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/CheckedAnswersArrayAdapter.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="205" width="436" x="1399" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.modules.tests.Tests" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/Tests.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="259" x="328" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.modules.tests.TagsArrayAdapter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/TagsArrayAdapter.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="247" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<enumeration id="8" language="java" name="es.ugr.swad.swadroid.modules.tests.TestsMake.ScreenStep" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/modules/tests/TestsMake.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="169" width="175" x="837" y="660"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</enumeration>
|
||||
<association id="9">
|
||||
<end type="SOURCE" refId="2" navigable="false">
|
||||
<attribute id="10" name="screenStep"/>
|
||||
<multiplicity id="11" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="8" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="12">
|
||||
<end type="SOURCE" refId="2"/>
|
||||
<end type="TARGET" refId="8"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,90 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.utils.OldCrypto" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/OldCrypto.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="161" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.utils.Utils" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/Utils.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="457" width="360" x="1196" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.utils.Base64.OutputStream" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/Base64.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="385" width="180" x="344" y="1002"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="4" language="java" name="es.ugr.swad.swadroid.utils.Base64" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/Base64.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="925" width="253" x="454" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.utils.TimeUtils" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/TimeUtils.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="241" width="174" x="982" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.utils.Base64.InputStream" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/Base64.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="295" width="162" x="564" y="1002"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.utils.QR" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/QR.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="172" x="242" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.utils.Crypto" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/utils/Crypto.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="277" width="195" x="747" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="9">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="6"/>
|
||||
</nesting>
|
||||
<nesting id="10">
|
||||
<end type="SOURCE" refId="4"/>
|
||||
<end type="TARGET" refId="3"/>
|
||||
</nesting>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,67 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<interface id="1" language="java" name="es.ugr.swad.swadroid.webservices.IWebserviceClient" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/webservices/IWebserviceClient.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="133" width="177" x="509" y="570"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</interface>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.webservices.SOAPClient" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/webservices/SOAPClient.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="493" width="219" x="704" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.webservices.RESTClient" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/webservices/RESTClient.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="295" width="350" x="314" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<enumeration id="4" language="java" name="es.ugr.swad.swadroid.webservices.RESTClient.REQUEST_TYPE" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/webservices/RESTClient.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="151" width="154" x="314" y="570"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</enumeration>
|
||||
<class id="5" language="java" name="es.ugr.swad.swadroid.webservices.RestEasy" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/webservices/RestEasy.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="169" width="233" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="6">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="4"/>
|
||||
</nesting>
|
||||
<realization id="7">
|
||||
<end type="SOURCE" refId="2"/>
|
||||
<end type="TARGET" refId="1"/>
|
||||
</realization>
|
||||
<realization id="8">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="1"/>
|
||||
</realization>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
|
@ -1,182 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<class-diagram version="1.1.6" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
|
||||
<class id="1" language="java" name="es.ugr.swad.swadroid.gui.widget.TextProgressBar" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/TextProgressBar.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="227" x="620" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="2" language="java" name="es.ugr.swad.swadroid.gui.widget.NumberPickerButton" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/NumberPickerButton.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="248" x="1149" y="840"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="3" language="java" name="es.ugr.swad.swadroid.gui.widget.NumberPicker" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/NumberPicker.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="763" width="258" x="1149" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<interface id="4" language="java" name="es.ugr.swad.swadroid.gui.widget.NumberPicker.Formatter" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/NumberPicker.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="79" width="143" x="966" y="840"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</interface>
|
||||
<interface id="5" language="java" name="es.ugr.swad.swadroid.gui.widget.NumberPicker.OnChangedListener"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/NumberPicker.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="79" width="206" x="1437" y="840"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</interface>
|
||||
<class id="6" language="java" name="es.ugr.swad.swadroid.gui.widget.SeekBarDialogPreference.SavedState"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/SeekBarDialogPreference.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="187" width="185" x="325" y="840"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="7" language="java" name="es.ugr.swad.swadroid.gui.widget.ExpandedListView" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/ExpandedListView.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="115" width="222" x="887" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="8" language="java" name="es.ugr.swad.swadroid.gui.widget.CheckableLinearLayout" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/CheckableLinearLayout.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="223" width="244" x="41" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="9" language="java" name="es.ugr.swad.swadroid.gui.widget.NumberPicker.NumberRangeKeyListener"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/NumberPicker.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="133" width="304" x="622" y="840"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="10" language="java" name="es.ugr.swad.swadroid.gui.widget.SeekBarDialogPreference" project="SWADroid"
|
||||
file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/SeekBarDialogPreference.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="511" width="255" x="325" y="37"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="11" language="java" name="es.ugr.swad.swadroid.gui.widget.NumberPicker.NumberPickerInputFilter"
|
||||
project="SWADroid" file="/SWADroid/src/es/ugr/swad/swadroid/gui/widget/NumberPicker.java" binary="false"
|
||||
corner="BOTTOM_RIGHT">
|
||||
<position height="97" width="304" x="1683" y="840"/>
|
||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" accessors="true"
|
||||
visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<nesting id="12">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="4"/>
|
||||
</nesting>
|
||||
<nesting id="13">
|
||||
<end type="SOURCE" refId="10"/>
|
||||
<end type="TARGET" refId="6"/>
|
||||
</nesting>
|
||||
<nesting id="14">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="5"/>
|
||||
</nesting>
|
||||
<nesting id="15">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="11"/>
|
||||
</nesting>
|
||||
<association id="16">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="17" name="mDecrementButton"/>
|
||||
<multiplicity id="18" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<nesting id="19">
|
||||
<end type="SOURCE" refId="3"/>
|
||||
<end type="TARGET" refId="9"/>
|
||||
</nesting>
|
||||
<association id="20">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="21" name="mIncrementButton"/>
|
||||
<multiplicity id="22" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="23">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="24" name="TWO_DIGIT_FORMATTER"/>
|
||||
<multiplicity id="25" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="4" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="26">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="27" name="mListener"/>
|
||||
<multiplicity id="28" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="5" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="29">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="30" name="mFormatter"/>
|
||||
<multiplicity id="31" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="4" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="32">
|
||||
<end type="SOURCE" refId="2" navigable="false">
|
||||
<attribute id="33" name="mNumberPicker"/>
|
||||
<multiplicity id="34" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="3" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||
accessors="true" visibility="true">
|
||||
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</classifier-display>
|
||||
<association-display labels="true" multiplicity="true"/>
|
||||
</class-diagram>
|
Loading…
Reference in New Issue
Block a user