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
4ca8ca44
Commit
4ca8ca44
authored
Mar 14, 2018
by
Mrunzzz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added Database classes
parent
61cc9621
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
679 deletions
+0
-679
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/DatabaseContract.java
...va/in/ac/iitb/gymkhana/iitbapp/data/DatabaseContract.java
+0
-88
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/DatabaseHelper.java
...java/in/ac/iitb/gymkhana/iitbapp/data/DatabaseHelper.java
+0
-78
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/IITBAppContentProvider.java
...ac/iitb/gymkhana/iitbapp/data/IITBAppContentProvider.java
+0
-513
No files found.
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/DatabaseContract.java
deleted
100644 → 0
View file @
61cc9621
package
in.ac.iitb.gymkhana.iitbapp.data
;
import
android.net.Uri
;
import
android.provider.BaseColumns
;
public
class
DatabaseContract
{
public
static
final
String
CONTENT_AUTHORITY
=
"in.ac.iitb.gymkhana.iitbapp"
;
public
static
final
Uri
BASE_CONTENT_URI
=
Uri
.
parse
(
"content://"
+
CONTENT_AUTHORITY
);
public
static
final
String
PATH_MAP
=
"map"
;
public
static
final
String
PATH_USER_PROFILE
=
"userProfile"
;
public
static
final
String
PATH_USER_FOLLOWERS
=
"userFollowers"
;
public
static
final
String
PATH_USER_FOLLOWS
=
"userFollows"
;
public
static
final
String
PATH_NEWS_FEED
=
"newsFeed"
;
public
static
final
class
MapEntry
implements
BaseColumns
{
public
static
final
Uri
CONTENT_URI
=
BASE_CONTENT_URI
.
buildUpon
()
.
appendPath
(
PATH_MAP
)
.
build
();
public
static
final
String
TABLE_NAME
=
"map"
;
public
static
final
String
COLUMN_LATITUDE
=
"latitude"
;
public
static
final
String
COLUMN_LONGITUDE
=
"longitude"
;
public
static
final
String
COLUMN_NAME
=
"name"
;
public
static
final
String
COLUMN_TYPE
=
"type"
;
}
public
static
final
class
UserProfileEntry
implements
BaseColumns
{
public
static
final
Uri
CONTENT_URI
=
BASE_CONTENT_URI
.
buildUpon
()
.
appendPath
(
PATH_USER_PROFILE
)
.
build
();
public
static
final
String
TABLE_NAME
=
"userProfile"
;
public
static
final
String
COLUMN_USER_NAME
=
"user_name"
;
public
static
final
String
COLUMN_USER_ROLLNO
=
"user_rollno"
;
public
static
final
String
COLUMN_USER_POR
=
"user_por"
;
public
static
final
String
COLUMN_USER_PROFILE_PICTURE
=
"user_profile_picture"
;
public
static
final
String
COLUMN_USER_HOSTELNO
=
"user_hostelno"
;
public
static
final
String
COLUMN_USER_ABOUTME
=
"user_aboutme"
;
public
static
final
String
COLUMN_USER_FOLLOWING_COUNT
=
"user_following_count"
;
public
static
final
String
COLUMN_USER_FOLLOWERS_COUNT
=
"user_follwers_count"
;
public
static
final
String
COLUMN_USER_EVENTS_COUNT
=
"user_events_count"
;
public
static
final
String
COLUMN_IS_FOLLOWED
=
"isFollowed"
;
public
static
final
String
COLUMN_FOLLOWS_YOU
=
"followsYou"
;
public
static
final
String
COLUMN_USER_ROOM_NO
=
"user_roomno"
;
public
static
final
String
COLUMN_USER_PHONE_NO
=
"user_phoneno"
;
}
public
static
final
class
UserFollowersEntry
implements
BaseColumns
{
public
static
final
Uri
CONTENT_URI
=
BASE_CONTENT_URI
.
buildUpon
()
.
appendPath
(
PATH_USER_FOLLOWERS
)
.
build
();
public
static
final
String
TABLE_NAME
=
"userFollowers"
;
public
static
final
String
COLUMN_USER_PROFILE_PICTURE
=
"user_profile_picture"
;
public
static
final
String
COLUMN_USER_NAME
=
"user_name"
;
public
static
final
String
COLUMN_USER_PROFILE
=
"userProfile"
;
}
public
static
final
class
UserFollowsEntry
implements
BaseColumns
{
public
static
final
Uri
CONTENT_URI
=
BASE_CONTENT_URI
.
buildUpon
()
.
appendPath
(
PATH_USER_FOLLOWS
)
.
build
();
public
static
final
String
TABLE_NAME
=
"userFollows"
;
public
static
final
String
COLUMN_USER_PROFILE_PICTURE
=
"user_profile_picture"
;
public
static
final
String
COLUMN_USER_NAME
=
"user_name"
;
public
static
final
String
COLUMN_USER_PROFILE
=
"userProfile"
;
}
public
static
final
class
NewsFeedEntry
implements
BaseColumns
{
public
static
final
Uri
CONTENT_URI
=
BASE_CONTENT_URI
.
buildUpon
()
.
appendPath
(
PATH_NEWS_FEED
)
.
build
();
public
static
final
String
TABLE_NAME
=
"newsFeed"
;
public
static
final
String
COLUMN_EVENT_NAME
=
"event_name"
;
public
static
final
String
COLUMN_EVENT_DESCRIPTION
=
"event_description"
;
public
static
final
String
COLUMN_EVENT_IMAGE
=
"event_image"
;
public
static
final
String
COLUMN_EVENT_CREATOR_NAME
=
"event_creator_name"
;
public
static
final
String
COLUMN_EVENT_CREATOR_ID
=
"event_creator_id"
;
public
static
final
String
COLUMN_EVENT_GOING_STATUS
=
"event_going_status"
;
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/DatabaseHelper.java
deleted
100644 → 0
View file @
61cc9621
package
in.ac.iitb.gymkhana.iitbapp.data
;
import
android.content.Context
;
import
android.database.sqlite.SQLiteDatabase
;
import
android.database.sqlite.SQLiteOpenHelper
;
public
class
DatabaseHelper
extends
SQLiteOpenHelper
{
private
static
final
String
DATABASE_NAME
=
"IITBAppDb.db"
;
private
static
final
int
VERSION
=
1
;
DatabaseHelper
(
Context
context
)
{
super
(
context
,
DATABASE_NAME
,
null
,
VERSION
);
}
@Override
public
void
onCreate
(
SQLiteDatabase
db
)
{
final
String
CREATE_TABLE_MAP
=
"CREATE TABLE "
+
DatabaseContract
.
MapEntry
.
TABLE_NAME
+
" ("
+
DatabaseContract
.
MapEntry
.
_ID
+
" INTEGER PRIMARY KEY, "
+
DatabaseContract
.
MapEntry
.
COLUMN_LATITUDE
+
" DOUBLE NOT NULL, "
+
DatabaseContract
.
MapEntry
.
COLUMN_LONGITUDE
+
" DOUBLE NOT NULL, "
+
DatabaseContract
.
MapEntry
.
COLUMN_NAME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
MapEntry
.
COLUMN_TYPE
+
" TEXT NOT NULL);"
;
final
String
CREATE_TABLE_USER_PROFILE
=
"CREATE TABLE "
+
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
+
" ("
+
DatabaseContract
.
UserProfileEntry
.
_ID
+
" INTEGER PRIMARY KEY, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_NAME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_ROLLNO
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_POR
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_PROFILE_PICTURE
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_HOSTELNO
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_ABOUTME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_FOLLOWING_COUNT
+
" INTEGER NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_FOLLOWERS_COUNT
+
" INTEGER NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_EVENTS_COUNT
+
" INTEGER NOT NULL, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_IS_FOLLOWED
+
" BOOLEAN, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_FOLLOWS_YOU
+
" BOOLEAN, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_ROOM_NO
+
" TEXT, "
+
DatabaseContract
.
UserProfileEntry
.
COLUMN_USER_PHONE_NO
+
" TEXT);"
;
final
String
CREATE_TABLE_USER_FOLLOWERS
=
"CREATE TABLE "
+
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
+
" ("
+
DatabaseContract
.
UserFollowersEntry
.
_ID
+
" INTEGER PRIMARY KEY, "
+
DatabaseContract
.
UserFollowersEntry
.
COLUMN_USER_PROFILE_PICTURE
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserFollowersEntry
.
COLUMN_USER_NAME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserFollowersEntry
.
COLUMN_USER_PROFILE
+
" TEXT NOT NULL);"
;
final
String
CREATE_TABLE_USER_FOLLOWS
=
"CREATE TABLE "
+
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
+
" ("
+
DatabaseContract
.
UserFollowsEntry
.
_ID
+
" INTEGER PRIMARY KEY, "
+
DatabaseContract
.
UserFollowsEntry
.
COLUMN_USER_PROFILE_PICTURE
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserFollowsEntry
.
COLUMN_USER_NAME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
UserFollowsEntry
.
COLUMN_USER_PROFILE
+
" TEXT NOT NULL);"
;
final
String
CREATE_TABLE_NEWS_FEED
=
"CREATE TABLE "
+
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
+
" ("
+
DatabaseContract
.
NewsFeedEntry
.
_ID
+
" INTEGER PRIMARY KEY, "
+
DatabaseContract
.
NewsFeedEntry
.
COLUMN_EVENT_NAME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
NewsFeedEntry
.
COLUMN_EVENT_DESCRIPTION
+
" TEXT NOT NULL, "
+
DatabaseContract
.
NewsFeedEntry
.
COLUMN_EVENT_IMAGE
+
" TEXT NOT NULL, "
+
DatabaseContract
.
NewsFeedEntry
.
COLUMN_EVENT_CREATOR_NAME
+
" TEXT NOT NULL, "
+
DatabaseContract
.
NewsFeedEntry
.
COLUMN_EVENT_CREATOR_ID
+
" TEXT NOT NULL, "
+
DatabaseContract
.
NewsFeedEntry
.
COLUMN_EVENT_GOING_STATUS
+
" INTEGER NOT NULL);"
;
db
.
execSQL
(
CREATE_TABLE_MAP
);
db
.
execSQL
(
CREATE_TABLE_USER_PROFILE
);
db
.
execSQL
(
CREATE_TABLE_USER_FOLLOWERS
);
db
.
execSQL
(
CREATE_TABLE_USER_FOLLOWS
);
db
.
execSQL
(
CREATE_TABLE_NEWS_FEED
);
}
@Override
public
void
onUpgrade
(
SQLiteDatabase
db
,
int
oldVersion
,
int
newVersion
)
{
db
.
execSQL
(
"DROP TABLE IF EXISTS "
+
DatabaseContract
.
MapEntry
.
TABLE_NAME
);
db
.
execSQL
(
"DROP TABLE IF EXISTS "
+
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
);
db
.
execSQL
(
"DROP TABLE IF EXISTS "
+
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
);
db
.
execSQL
(
"DROP TABLE IF EXISTS "
+
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
);
db
.
execSQL
(
"DROP TABLE IF EXISTS "
+
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
);
onCreate
(
db
);
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/IITBAppContentProvider.java
deleted
100644 → 0
View file @
61cc9621
package
in.ac.iitb.gymkhana.iitbapp.data
;
import
android.content.ContentProvider
;
import
android.content.ContentUris
;
import
android.content.ContentValues
;
import
android.content.Context
;
import
android.content.UriMatcher
;
import
android.database.Cursor
;
import
android.database.SQLException
;
import
android.database.sqlite.SQLiteDatabase
;
import
android.net.Uri
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.Nullable
;
public
class
IITBAppContentProvider
extends
ContentProvider
{
public
static
final
int
LOCS
=
100
;
public
static
final
int
LOC_WITH_ID
=
101
;
public
static
final
int
USER_PROFILES
=
200
;
public
static
final
int
USER_PROFILE_WITH_ID
=
201
;
public
static
final
int
USER_FOLLOWERS
=
300
;
public
static
final
int
USER_FOLLOWER_WITH_ID
=
301
;
public
static
final
int
USER_FOLLOWS
=
400
;
public
static
final
int
USER_FOLLOWS_WITH_ID
=
401
;
public
static
final
int
NEWS_FEED
=
500
;
public
static
final
int
NEWS_FEED_WITH_ID
=
501
;
private
static
final
UriMatcher
sUriMatcher
=
buildUriMatcher
();
private
DatabaseHelper
databaseHelper
;
public
static
UriMatcher
buildUriMatcher
()
{
final
UriMatcher
matcher
=
new
UriMatcher
(
UriMatcher
.
NO_MATCH
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_MAP
,
LOCS
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_MAP
+
"/#"
,
LOC_WITH_ID
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_USER_PROFILE
,
USER_PROFILES
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_USER_PROFILE
+
"/#"
,
USER_PROFILE_WITH_ID
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_USER_FOLLOWERS
,
USER_FOLLOWERS
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_USER_FOLLOWERS
+
"/#"
,
USER_FOLLOWER_WITH_ID
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_USER_FOLLOWS
,
USER_FOLLOWS
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_USER_FOLLOWS
+
"/#"
,
USER_FOLLOWS_WITH_ID
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_NEWS_FEED
,
NEWS_FEED
);
matcher
.
addURI
(
DatabaseContract
.
CONTENT_AUTHORITY
,
DatabaseContract
.
PATH_NEWS_FEED
+
"/#"
,
NEWS_FEED_WITH_ID
);
return
matcher
;
}
@Override
public
boolean
onCreate
()
{
Context
context
=
getContext
();
databaseHelper
=
new
DatabaseHelper
(
context
);
return
true
;
}
@Nullable
@Override
public
Cursor
query
(
@NonNull
Uri
uri
,
@Nullable
String
[]
projection
,
@Nullable
String
selection
,
@Nullable
String
[]
selectionArgs
,
@Nullable
String
sortOrder
)
{
final
SQLiteDatabase
db
=
databaseHelper
.
getReadableDatabase
();
int
match
=
sUriMatcher
.
match
(
uri
);
Cursor
cursor
;
String
id
;
String
selectionArguments
[];
switch
(
match
)
{
case
LOCS:
cursor
=
db
.
query
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
projection
,
selection
,
selectionArgs
,
null
,
null
,
sortOrder
);
break
;
case
LOC_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
selectionArguments
=
new
String
[]{
id
};
cursor
=
db
.
query
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
projection
,
"_id=?"
,
selectionArguments
,
null
,
null
,
sortOrder
);
break
;
case
USER_PROFILES:
cursor
=
db
.
query
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
projection
,
selection
,
selectionArgs
,
null
,
null
,
sortOrder
);
break
;
case
USER_PROFILE_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
selectionArguments
=
new
String
[]{
id
};
cursor
=
db
.
query
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
projection
,
"_id=?"
,
selectionArguments
,
null
,
null
,
sortOrder
);
break
;
case
USER_FOLLOWERS:
cursor
=
db
.
query
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
projection
,
selection
,
selectionArgs
,
null
,
null
,
sortOrder
);
break
;
case
USER_FOLLOWER_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
selectionArguments
=
new
String
[]{
id
};
cursor
=
db
.
query
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
projection
,
"_id=?"
,
selectionArguments
,
null
,
null
,
sortOrder
);
break
;
case
USER_FOLLOWS:
cursor
=
db
.
query
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
projection
,
selection
,
selectionArgs
,
null
,
null
,
sortOrder
);
break
;
case
USER_FOLLOWS_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
selectionArguments
=
new
String
[]{
id
};
cursor
=
db
.
query
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
projection
,
"_id=?"
,
selectionArguments
,
null
,
null
,
sortOrder
);
break
;
case
NEWS_FEED:
cursor
=
db
.
query
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
projection
,
selection
,
selectionArgs
,
null
,
null
,
sortOrder
);
break
;
case
NEWS_FEED_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
selectionArguments
=
new
String
[]{
id
};
cursor
=
db
.
query
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
projection
,
"_id=?"
,
selectionArguments
,
null
,
null
,
sortOrder
);
break
;
default
:
throw
new
SQLException
(
"Wrong Uri: "
+
uri
);
}
cursor
.
setNotificationUri
(
getContext
().
getContentResolver
(),
uri
);
return
cursor
;
}
@Nullable
@Override
public
String
getType
(
@NonNull
Uri
uri
)
{
int
match
=
sUriMatcher
.
match
(
uri
);
switch
(
match
)
{
case
LOCS:
return
"vnd.android.cursor.dir"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_MAP
;
case
LOC_WITH_ID:
return
"vnd.android.cursor.item"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_MAP
;
case
USER_PROFILES:
return
"vnd.android.cursor.dir"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_USER_PROFILE
;
case
USER_PROFILE_WITH_ID:
return
"vnd.android.cursor.item"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_USER_PROFILE
;
case
USER_FOLLOWERS:
return
"vnd.android.cursor.dir"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_USER_FOLLOWERS
;
case
USER_FOLLOWER_WITH_ID:
return
"vnd.android.cursor.item"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_USER_FOLLOWERS
;
case
USER_FOLLOWS:
return
"vnd.android.cursor.dir"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_USER_FOLLOWS
;
case
USER_FOLLOWS_WITH_ID:
return
"vnd.android.cursor.item"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_USER_FOLLOWS
;
case
NEWS_FEED:
return
"vnd.android.cursor.dir"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_NEWS_FEED
;
case
NEWS_FEED_WITH_ID:
return
"vnd.android.cursor.item"
+
"/"
+
DatabaseContract
.
CONTENT_AUTHORITY
+
"/"
+
DatabaseContract
.
PATH_NEWS_FEED
;
default
:
throw
new
UnsupportedOperationException
(
"Unknown uri: "
+
uri
);
}
}
@Nullable
@Override
public
Uri
insert
(
@NonNull
Uri
uri
,
@Nullable
ContentValues
values
)
{
final
SQLiteDatabase
db
=
databaseHelper
.
getWritableDatabase
();
int
match
=
sUriMatcher
.
match
(
uri
);
Uri
returnUri
;
long
id
;
switch
(
match
)
{
case
LOCS:
id
=
db
.
insert
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
null
,
values
);
if
(
id
>
0
)
{
returnUri
=
ContentUris
.
withAppendedId
(
DatabaseContract
.
MapEntry
.
CONTENT_URI
,
id
);
}
else
throw
new
SQLException
(
"Failed to insert row into "
+
uri
);
break
;
case
USER_PROFILES:
id
=
db
.
insert
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
null
,
values
);
if
(
id
>
0
)
{
returnUri
=
ContentUris
.
withAppendedId
(
DatabaseContract
.
UserProfileEntry
.
CONTENT_URI
,
id
);
}
else
throw
new
SQLException
(
"Failed to insert row into "
+
uri
);
break
;
case
USER_FOLLOWERS:
id
=
db
.
insert
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
null
,
values
);
if
(
id
>
0
)
{
returnUri
=
ContentUris
.
withAppendedId
(
DatabaseContract
.
UserFollowersEntry
.
CONTENT_URI
,
id
);
}
else
throw
new
SQLException
(
"Failed to insert row into "
+
uri
);
break
;
case
USER_FOLLOWS:
id
=
db
.
insert
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
null
,
values
);
if
(
id
>
0
)
{
returnUri
=
ContentUris
.
withAppendedId
(
DatabaseContract
.
UserFollowsEntry
.
CONTENT_URI
,
id
);
}
else
throw
new
SQLException
(
"Failed to insert row into "
+
uri
);
break
;
case
NEWS_FEED:
id
=
db
.
insert
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
null
,
values
);
if
(
id
>
0
)
{
returnUri
=
ContentUris
.
withAppendedId
(
DatabaseContract
.
NewsFeedEntry
.
CONTENT_URI
,
id
);
}
else
throw
new
SQLException
(
"Failed to insert row into "
+
uri
);
break
;
default
:
throw
new
SQLException
(
"Wrong uri: "
+
uri
);
}
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
return
returnUri
;
}
@Override
public
int
bulkInsert
(
@NonNull
Uri
uri
,
@NonNull
ContentValues
[]
values
)
{
final
SQLiteDatabase
db
=
databaseHelper
.
getWritableDatabase
();
int
rowsInserted
;
switch
(
sUriMatcher
.
match
(
uri
))
{
case
LOCS:
db
.
beginTransaction
();
rowsInserted
=
0
;
try
{
for
(
ContentValues
value
:
values
)
{
long
_id
=
db
.
insert
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
null
,
value
);
if
(
_id
!=
-
1
)
{
rowsInserted
++;
}
}
db
.
setTransactionSuccessful
();
}
finally
{
db
.
endTransaction
();
}
if
(
rowsInserted
>
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
rowsInserted
;
case
USER_PROFILES:
db
.
beginTransaction
();
rowsInserted
=
0
;
try
{
for
(
ContentValues
value
:
values
)
{
long
_id
=
db
.
insert
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
null
,
value
);
if
(
_id
!=
-
1
)
{
rowsInserted
++;
}
}
db
.
setTransactionSuccessful
();
}
finally
{
db
.
endTransaction
();
}
if
(
rowsInserted
>
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
rowsInserted
;
case
USER_FOLLOWERS:
db
.
beginTransaction
();
rowsInserted
=
0
;
try
{
for
(
ContentValues
value
:
values
)
{
long
_id
=
db
.
insert
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
null
,
value
);
if
(
_id
!=
-
1
)
{
rowsInserted
++;
}
}
db
.
setTransactionSuccessful
();
}
finally
{
db
.
endTransaction
();
}
if
(
rowsInserted
>
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
rowsInserted
;
case
USER_FOLLOWS:
db
.
beginTransaction
();
rowsInserted
=
0
;
try
{
for
(
ContentValues
value
:
values
)
{
long
_id
=
db
.
insert
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
null
,
value
);
if
(
_id
!=
-
1
)
{
rowsInserted
++;
}
}
db
.
setTransactionSuccessful
();
}
finally
{
db
.
endTransaction
();
}
if
(
rowsInserted
>
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
rowsInserted
;
case
NEWS_FEED:
db
.
beginTransaction
();
rowsInserted
=
0
;
try
{
for
(
ContentValues
value
:
values
)
{
long
_id
=
db
.
insert
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
null
,
value
);
if
(
_id
!=
-
1
)
{
rowsInserted
++;
}
}
db
.
setTransactionSuccessful
();
}
finally
{
db
.
endTransaction
();
}
if
(
rowsInserted
>
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
rowsInserted
;
default
:
return
super
.
bulkInsert
(
uri
,
values
);
}
}
@Override
public
int
delete
(
@NonNull
Uri
uri
,
@Nullable
String
selection
,
@Nullable
String
[]
selectionArgs
)
{
int
numRowsDeleted
;
String
id
;
if
(
null
==
selection
)
selection
=
"1"
;
switch
(
sUriMatcher
.
match
(
uri
))
{
case
LOCS:
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
selection
,
selectionArgs
);
break
;
case
USER_PROFILES:
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
selection
,
selectionArgs
);
break
;
case
USER_FOLLOWERS:
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
selection
,
selectionArgs
);
break
;
case
USER_FOLLOWS:
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
selection
,
selectionArgs
);
break
;
case
NEWS_FEED:
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
selection
,
selectionArgs
);
break
;
case
LOC_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
USER_PROFILE_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
USER_FOLLOWER_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
USER_FOLLOWS_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
NEWS_FEED_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
numRowsDeleted
=
databaseHelper
.
getWritableDatabase
().
delete
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
"_id=?"
,
new
String
[]{
id
});
break
;
default
:
throw
new
UnsupportedOperationException
(
"Unknown uri: "
+
uri
);
}
if
(
numRowsDeleted
!=
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
numRowsDeleted
;
}
@Override
public
int
update
(
@NonNull
Uri
uri
,
@Nullable
ContentValues
values
,
@Nullable
String
selection
,
@Nullable
String
[]
selectionArgs
)
{
int
itemsUpdated
;
int
match
=
sUriMatcher
.
match
(
uri
);
String
id
;
switch
(
match
)
{
case
LOC_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
itemsUpdated
=
databaseHelper
.
getWritableDatabase
().
update
(
DatabaseContract
.
MapEntry
.
TABLE_NAME
,
values
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
USER_PROFILE_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
itemsUpdated
=
databaseHelper
.
getWritableDatabase
().
update
(
DatabaseContract
.
UserProfileEntry
.
TABLE_NAME
,
values
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
USER_FOLLOWER_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
itemsUpdated
=
databaseHelper
.
getWritableDatabase
().
update
(
DatabaseContract
.
UserFollowersEntry
.
TABLE_NAME
,
values
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
USER_FOLLOWS_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
itemsUpdated
=
databaseHelper
.
getWritableDatabase
().
update
(
DatabaseContract
.
UserFollowsEntry
.
TABLE_NAME
,
values
,
"_id=?"
,
new
String
[]{
id
});
break
;
case
NEWS_FEED_WITH_ID:
id
=
uri
.
getPathSegments
().
get
(
1
);
itemsUpdated
=
databaseHelper
.
getWritableDatabase
().
update
(
DatabaseContract
.
NewsFeedEntry
.
TABLE_NAME
,
values
,
"_id=?"
,
new
String
[]{
id
});
break
;
default
:
throw
new
UnsupportedOperationException
(
"Unknown uri: "
+
uri
);
}
if
(
itemsUpdated
!=
0
)
{
getContext
().
getContentResolver
().
notifyChange
(
uri
,
null
);
}
return
itemsUpdated
;
}
}
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