Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
InstiApp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
RAHUL SHARMA
InstiApp
Commits
280d3750
Commit
280d3750
authored
Mar 24, 2018
by
Sajal Narang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement Login API, fix #45
parent
bda4dd3e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
80 additions
and
85 deletions
+80
-85
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/LoginActivity.java
.../main/java/in/ac/iitb/gymkhana/iitbapp/LoginActivity.java
+17
-26
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/MainActivity.java
...c/main/java/in/ac/iitb/gymkhana/iitbapp/MainActivity.java
+2
-2
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/SessionManager.java
...main/java/in/ac/iitb/gymkhana/iitbapp/SessionManager.java
+8
-9
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/RetrofitInterface.java
...va/in/ac/iitb/gymkhana/iitbapp/api/RetrofitInterface.java
+2
-3
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/model/LoginRequest.java
...a/in/ac/iitb/gymkhana/iitbapp/api/model/LoginRequest.java
+0
-31
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/model/LoginResponse.java
.../in/ac/iitb/gymkhana/iitbapp/api/model/LoginResponse.java
+40
-13
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/User.java
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/User.java
+11
-1
No files found.
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/LoginActivity.java
View file @
280d3750
...
@@ -32,7 +32,6 @@ import net.openid.appauth.AuthorizationServiceConfiguration;
...
@@ -32,7 +32,6 @@ import net.openid.appauth.AuthorizationServiceConfiguration;
import
in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface
;
import
in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface
;
import
in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator
;
import
in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginRequest
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse
;
import
in.ac.iitb.gymkhana.iitbapp.gcm.RegistrationIntentService
;
import
in.ac.iitb.gymkhana.iitbapp.gcm.RegistrationIntentService
;
import
retrofit2.Call
;
import
retrofit2.Call
;
...
@@ -45,8 +44,8 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -45,8 +44,8 @@ public class LoginActivity extends AppCompatActivity {
public
static
final
String
REGISTRATION_COMPLETE
=
"registrationComplete"
;
public
static
final
String
REGISTRATION_COMPLETE
=
"registrationComplete"
;
private
static
final
String
TAG
=
"LoginActivity"
;
private
static
final
String
TAG
=
"LoginActivity"
;
private
static
final
int
PLAY_SERVICES_RESOLUTION_REQUEST
=
9000
;
private
static
final
int
PLAY_SERVICES_RESOLUTION_REQUEST
=
9000
;
private
final
String
clientId
=
"pFcDDWtUUfzlAX2ibriV25lm1J2m92O5ynfT4SYk"
;
//TODO: Change this to production before launch
private
final
String
client
Secret
=
"k56GXiN1qB4Dt7CnTVWjuwLJyWntNulitWOkL7Wddr6JHPiHqIZgSfgUplO6neTqumVr32zA14XgQmkuoC8y6y9jnaQT9tKDsq4jQklRb8MQNQglQ1H4YrmqOwPfaNyO
"
;
private
final
String
client
Id
=
"vR1pU7wXWyve1rUkg0fMS6StL1Kr6paoSmRIiLXJ
"
;
private
final
Uri
redirectUri
=
Uri
.
parse
(
"https://redirecturi"
);
private
final
Uri
redirectUri
=
Uri
.
parse
(
"https://redirecturi"
);
private
final
Uri
mAuthEndpoint
=
Uri
.
parse
(
"http://gymkhana.iitb.ac.in/sso/oauth/authorize/"
);
private
final
Uri
mAuthEndpoint
=
Uri
.
parse
(
"http://gymkhana.iitb.ac.in/sso/oauth/authorize/"
);
private
final
Uri
mTokenEndpoint
=
Uri
.
parse
(
"http://gymkhana.iitb.ac.in/sso/oauth/token/"
);
private
final
Uri
mTokenEndpoint
=
Uri
.
parse
(
"http://gymkhana.iitb.ac.in/sso/oauth/token/"
);
...
@@ -67,26 +66,23 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -67,26 +66,23 @@ public class LoginActivity extends AppCompatActivity {
@Override
@Override
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
SharedPreferences
sharedPreferences
=
SharedPreferences
sharedPreferences
=
PreferenceManager
.
getDefaultSharedPreferences
(
context
);
PreferenceManager
.
getDefaultSharedPreferences
(
context
);
boolean
sentToken
=
sharedPreferences
.
getBoolean
(
SENT_TOKEN_TO_SERVER
,
false
);
boolean
sentToken
=
sharedPreferences
.
getBoolean
(
SENT_TOKEN_TO_SERVER
,
false
);
if
(
sentToken
)
{
if
(
sentToken
)
{
String
token
=
intent
.
getStringExtra
(
"Token"
);
String
token
=
intent
.
getStringExtra
(
"Token"
);
Log
.
d
(
TAG
,
"Going to login with :"
+
authCode
+
"\n"
+
token
);
Log
.
d
(
TAG
,
"Going to login with :"
+
authCode
+
"\n"
+
token
);
//************
//************
//TODO Remove following 6 lines after the server is hosted
//TODO Remove following 6 lines after the server is hosted
String
gcmRegId
=
token
;
String
gcmRegId
=
token
;
session
.
createLoginSession
(
gcmRegId
);
//
session.createLoginSession(gcmRegId);
Intent
i
=
new
Intent
(
mContext
,
MainActivity
.
class
);
//
Intent i = new Intent(mContext, MainActivity.class);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
//
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
//
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity
(
i
);
//
startActivity(i);
//**************
//**************
login
(
authCode
,
token
);
login
(
authCode
,
redirectUri
.
toString
(),
gcmRegId
);
}
else
{
}
else
{
...
@@ -101,8 +97,7 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -101,8 +97,7 @@ public class LoginActivity extends AppCompatActivity {
public
void
onClick
(
View
view
)
{
public
void
onClick
(
View
view
)
{
Log
.
d
(
TAG
,
"Initiating auth"
);
Log
.
d
(
TAG
,
"Initiating auth"
);
AuthorizationServiceConfiguration
config
=
AuthorizationServiceConfiguration
config
=
new
AuthorizationServiceConfiguration
(
mAuthEndpoint
,
mTokenEndpoint
);
new
AuthorizationServiceConfiguration
(
mAuthEndpoint
,
mTokenEndpoint
);
makeAuthRequest
(
config
);
makeAuthRequest
(
config
);
}
}
...
@@ -121,7 +116,6 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -121,7 +116,6 @@ public class LoginActivity extends AppCompatActivity {
@Override
@Override
protected
void
onNewIntent
(
Intent
intent
)
{
protected
void
onNewIntent
(
Intent
intent
)
{
checkIntent
(
intent
);
checkIntent
(
intent
);
}
}
...
@@ -154,7 +148,7 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -154,7 +148,7 @@ public class LoginActivity extends AppCompatActivity {
protected
void
onResume
()
{
protected
void
onResume
()
{
super
.
onResume
();
super
.
onResume
();
registerReceiver
();
registerReceiver
();
Log
.
d
(
TAG
,
"
I
n Resume"
);
Log
.
d
(
TAG
,
"
O
n Resume"
);
}
}
@Override
@Override
...
@@ -196,8 +190,7 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -196,8 +190,7 @@ public class LoginActivity extends AppCompatActivity {
}
}
}
}
private
void
makeAuthRequest
(
private
void
makeAuthRequest
(
@NonNull
AuthorizationServiceConfiguration
serviceConfig
)
{
@NonNull
AuthorizationServiceConfiguration
serviceConfig
)
{
AuthorizationRequest
authRequest
=
new
AuthorizationRequest
.
Builder
(
AuthorizationRequest
authRequest
=
new
AuthorizationRequest
.
Builder
(
serviceConfig
,
serviceConfig
,
...
@@ -221,7 +214,7 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -221,7 +214,7 @@ public class LoginActivity extends AppCompatActivity {
.
build
());
.
build
());
}
}
//T
odo
: Change the color of Chrome custom tabs based on app theme color
//T
ODO
: Change the color of Chrome custom tabs based on app theme color
@TargetApi
(
Build
.
VERSION_CODES
.
M
)
@TargetApi
(
Build
.
VERSION_CODES
.
M
)
@SuppressWarnings
(
"deprecation"
)
@SuppressWarnings
(
"deprecation"
)
private
int
getCustomTabColor
()
{
private
int
getCustomTabColor
()
{
...
@@ -232,16 +225,14 @@ public class LoginActivity extends AppCompatActivity {
...
@@ -232,16 +225,14 @@ public class LoginActivity extends AppCompatActivity {
}
}
}
}
private
void
login
(
String
authorizationCode
,
String
gcmId
)
{
private
void
login
(
String
authorizationCode
,
final
String
redirectURI
,
String
gcmID
)
{
final
String
gcmRegId
=
gcmId
;
LoginRequest
loginRequest
=
new
LoginRequest
(
authorizationCode
,
gcmId
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
login
(
loginRequest
).
enqueue
(
new
Callback
<
LoginResponse
>()
{
retrofitInterface
.
login
(
authorizationCode
,
redirectURI
,
gcmID
).
enqueue
(
new
Callback
<
LoginResponse
>()
{
@Override
@Override
public
void
onResponse
(
Call
<
LoginResponse
>
call
,
Response
<
LoginResponse
>
response
)
{
public
void
onResponse
(
Call
<
LoginResponse
>
call
,
Response
<
LoginResponse
>
response
)
{
if
(
response
.
isSuccessful
())
{
if
(
response
.
isSuccessful
())
{
Log
.
d
(
TAG
,
"Login request successful"
);
Log
.
d
(
TAG
,
"Login request successful"
);
session
.
createLoginSession
(
gcmRegId
);
session
.
createLoginSession
(
redirectURI
,
response
.
body
().
getUser
()
);
Intent
i
=
new
Intent
(
mContext
,
MainActivity
.
class
);
Intent
i
=
new
Intent
(
mContext
,
MainActivity
.
class
);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/MainActivity.java
View file @
280d3750
...
@@ -56,7 +56,7 @@ public class MainActivity extends AppCompatActivity
...
@@ -56,7 +56,7 @@ public class MainActivity extends AppCompatActivity
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_main
);
setContentView
(
R
.
layout
.
activity_main
);
session
=
new
SessionManager
(
getApplicationContext
());
session
=
new
SessionManager
(
getApplicationContext
());
Toast
.
makeText
(
getApplicationContext
(),
"
User Login S
tatus: "
+
session
.
isLoggedIn
(),
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
getApplicationContext
(),
"
Log In s
tatus: "
+
session
.
isLoggedIn
(),
Toast
.
LENGTH_LONG
).
show
();
session
.
checkLogin
();
session
.
checkLogin
();
Toolbar
toolbar
=
(
Toolbar
)
findViewById
(
R
.
id
.
toolbar
);
Toolbar
toolbar
=
(
Toolbar
)
findViewById
(
R
.
id
.
toolbar
);
setSupportActionBar
(
toolbar
);
setSupportActionBar
(
toolbar
);
...
@@ -184,7 +184,7 @@ public class MainActivity extends AppCompatActivity
...
@@ -184,7 +184,7 @@ public class MainActivity extends AppCompatActivity
Manifest
.
permission
.
ACCESS_FINE_LOCATION
)
Manifest
.
permission
.
ACCESS_FINE_LOCATION
)
==
PackageManager
.
PERMISSION_GRANTED
)
{
==
PackageManager
.
PERMISSION_GRANTED
)
{
updateFragment
(
mapFragment
);
updateFragment
(
mapFragment
);
}
else
{
}
else
{
ActivityCompat
.
requestPermissions
(
this
,
new
String
[]{
Manifest
.
permission
.
ACCESS_FINE_LOCATION
},
0
);
ActivityCompat
.
requestPermissions
(
this
,
new
String
[]{
Manifest
.
permission
.
ACCESS_FINE_LOCATION
},
0
);
}
}
break
;
break
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/SessionManager.java
View file @
280d3750
...
@@ -6,10 +6,13 @@ import android.content.SharedPreferences;
...
@@ -6,10 +6,13 @@ import android.content.SharedPreferences;
import
android.content.SharedPreferences.Editor
;
import
android.content.SharedPreferences.Editor
;
import
android.util.Log
;
import
android.util.Log
;
import
in.ac.iitb.gymkhana.iitbapp.data.User
;
public
class
SessionManager
{
public
class
SessionManager
{
private
static
final
String
PREF_NAME
=
"LoggedInPref"
;
private
static
final
String
PREF_NAME
=
"LoggedInPref"
;
private
static
final
String
IS_LOGIN
=
"IsLoggedIn"
;
private
static
final
String
IS_LOG
GED_
IN
=
"IsLoggedIn"
;
private
static
final
String
GCM_ID
=
"GcmId"
;
private
static
final
String
GCM_ID
=
"GcmId"
;
public
static
final
String
CURRENT_USER
=
"current_user"
;
SharedPreferences
pref
;
SharedPreferences
pref
;
Editor
editor
;
Editor
editor
;
Context
context
;
Context
context
;
...
@@ -22,9 +25,7 @@ public class SessionManager {
...
@@ -22,9 +25,7 @@ public class SessionManager {
}
}
public
void
checkLogin
()
{
public
void
checkLogin
()
{
if
(!
this
.
isLoggedIn
())
{
if
(!
this
.
isLoggedIn
())
{
Intent
i
=
new
Intent
(
context
,
LoginActivity
.
class
);
Intent
i
=
new
Intent
(
context
,
LoginActivity
.
class
);
// Closing all the Activities
// Closing all the Activities
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
i
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
...
@@ -32,20 +33,18 @@ public class SessionManager {
...
@@ -32,20 +33,18 @@ public class SessionManager {
i
.
setFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
i
.
setFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
// Staring Login Activity
// Staring Login Activity
context
.
startActivity
(
i
);
context
.
startActivity
(
i
);
}
}
}
}
public
void
createLoginSession
(
String
gcmId
)
{
public
void
createLoginSession
(
String
gcmId
,
User
currentUser
)
{
Log
.
d
(
"SessionManager"
,
"GcmId being stored"
);
Log
.
d
(
"SessionManager"
,
"GcmId being stored"
);
editor
.
putBoolean
(
IS_LOGIN
,
true
);
editor
.
putBoolean
(
IS_LOG
GED_
IN
,
true
);
editor
.
putString
(
GCM_ID
,
gcmId
);
editor
.
putString
(
GCM_ID
,
gcmId
);
editor
.
putString
(
CURRENT_USER
,
currentUser
.
toString
());
editor
.
commit
();
editor
.
commit
();
}
}
public
boolean
isLoggedIn
()
{
public
boolean
isLoggedIn
()
{
return
pref
.
getBoolean
(
IS_LOGIN
,
false
);
return
pref
.
getBoolean
(
IS_LOG
GED_
IN
,
false
);
}
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/RetrofitInterface.java
View file @
280d3750
...
@@ -4,7 +4,6 @@ import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateRequest;
...
@@ -4,7 +4,6 @@ import in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateRequest;
import
in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.ImageUploadRequest
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.ImageUploadRequest
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.ImageUploadResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.ImageUploadResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginRequest
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.NewsFeedResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.NewsFeedResponse
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.NotificationsRequest
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.NotificationsRequest
;
...
@@ -17,8 +16,8 @@ import retrofit2.http.Path;
...
@@ -17,8 +16,8 @@ import retrofit2.http.Path;
import
retrofit2.http.Query
;
import
retrofit2.http.Query
;
public
interface
RetrofitInterface
{
public
interface
RetrofitInterface
{
@
POST
(
"login/
"
)
@
GET
(
"login
"
)
Call
<
LoginResponse
>
login
(
@
Body
LoginRequest
loginRequest
);
Call
<
LoginResponse
>
login
(
@
Query
(
"code"
)
String
AUTH_CODE
,
@Query
(
"redir"
)
String
redirectURI
,
@Query
(
"fcm_id"
)
String
fcmID
);
@POST
(
"events"
)
@POST
(
"events"
)
Call
<
EventCreateResponse
>
createEvent
(
@Body
EventCreateRequest
eventCreateRequest
);
Call
<
EventCreateResponse
>
createEvent
(
@Body
EventCreateRequest
eventCreateRequest
);
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/model/LoginRequest.java
deleted
100644 → 0
View file @
bda4dd3e
package
in.ac.iitb.gymkhana.iitbapp.api.model
;
import
com.google.gson.annotations.SerializedName
;
public
class
LoginRequest
{
@SerializedName
(
"AUTHORIZATION_CODE"
)
private
String
authCode
;
@SerializedName
(
"reg_id"
)
private
String
regId
;
public
LoginRequest
(
String
authCode
,
String
regId
)
{
this
.
authCode
=
authCode
;
this
.
regId
=
regId
;
}
public
String
getAuthCode
()
{
return
authCode
;
}
public
void
setAuthCode
(
String
authCode
)
{
this
.
authCode
=
authCode
;
}
public
String
getRegId
()
{
return
regId
;
}
public
void
setRegId
(
String
regId
)
{
this
.
regId
=
regId
;
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/model/LoginResponse.java
View file @
280d3750
package
in.ac.iitb.gymkhana.iitbapp.api.model
;
package
in.ac.iitb.gymkhana.iitbapp.api.model
;
import
com.google.gson.annotations.SerializedName
;
import
in.ac.iitb.gymkhana.iitbapp.data.User
;
public
class
LoginResponse
{
public
class
LoginResponse
{
private
String
result
;
@SerializedName
(
"sessionid"
)
private
String
message
;
private
String
sessionID
;
@SerializedName
(
"user"
)
private
int
userID
;
@SerializedName
(
"profile_id"
)
private
String
profileID
;
@SerializedName
(
"profile"
)
private
User
user
;
public
LoginResponse
(
String
sessionID
,
int
userID
,
String
profileID
,
User
user
)
{
this
.
sessionID
=
sessionID
;
this
.
userID
=
userID
;
this
.
profileID
=
profileID
;
this
.
user
=
user
;
}
public
String
getSessionID
()
{
return
sessionID
;
}
public
void
setSessionID
(
String
sessionID
)
{
this
.
sessionID
=
sessionID
;
}
public
int
getUserID
()
{
return
userID
;
}
public
LoginResponse
(
String
result
,
String
message
)
{
public
void
setUserID
(
int
userID
)
{
this
.
result
=
result
;
this
.
userID
=
userID
;
this
.
message
=
message
;
}
}
public
String
get
Result
()
{
public
String
get
ProfileID
()
{
return
result
;
return
profileID
;
}
}
public
void
set
Result
(
String
result
)
{
public
void
set
ProfileID
(
String
profileID
)
{
this
.
result
=
result
;
this
.
profileID
=
profileID
;
}
}
public
String
getMessage
()
{
public
User
getUser
()
{
return
message
;
return
user
;
}
}
public
void
set
Message
(
String
message
)
{
public
void
set
User
(
User
user
)
{
this
.
message
=
message
;
this
.
user
=
user
;
}
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/User.java
View file @
280d3750
...
@@ -4,12 +4,13 @@ import android.arch.persistence.room.ColumnInfo;
...
@@ -4,12 +4,13 @@ import android.arch.persistence.room.ColumnInfo;
import
android.arch.persistence.room.Entity
;
import
android.arch.persistence.room.Entity
;
import
android.arch.persistence.room.PrimaryKey
;
import
android.arch.persistence.room.PrimaryKey
;
import
com.google.gson.Gson
;
import
com.google.gson.annotations.SerializedName
;
import
com.google.gson.annotations.SerializedName
;
import
java.util.List
;
import
java.util.List
;
@Entity
(
tableName
=
"users"
)
@Entity
(
tableName
=
"users"
)
class
User
{
public
class
User
{
@PrimaryKey
(
autoGenerate
=
true
)
@PrimaryKey
(
autoGenerate
=
true
)
int
db_id
;
int
db_id
;
...
@@ -160,4 +161,13 @@ class User {
...
@@ -160,4 +161,13 @@ class User {
public
void
setUserFollowedBodiesID
(
List
<
String
>
userFollowedBodiesID
)
{
public
void
setUserFollowedBodiesID
(
List
<
String
>
userFollowedBodiesID
)
{
this
.
userFollowedBodiesID
=
userFollowedBodiesID
;
this
.
userFollowedBodiesID
=
userFollowedBodiesID
;
}
}
@Override
public
String
toString
()
{
return
new
Gson
().
toJson
(
this
);
}
public
static
User
fromString
(
String
json
)
{
return
new
Gson
().
fromJson
(
json
,
User
.
class
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment