Skip to content

Update master branch after completion of GSoC MidTerm 2016 #148

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 125 commits into from
Jun 29, 2016
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
1b7a6a7
Fixed Issue #23, #24
scopeInfinity Feb 23, 2016
8ffd150
Fixed #39 , App on Orientation Change
opticod Feb 23, 2016
c0db69e
Added #41 , Personalized Keyboard feature
opticod Feb 23, 2016
c24f1f5
Fixed, Wrong Summary Message under 'Your Name' in Settings
scopeInfinity Feb 25, 2016
186e09a
Added: Feature to install the apk on clicking the notification
opticod Feb 27, 2016
bed3ed2
Project Deletion Feature Added
opticod Feb 27, 2016
efcabae
Merge pull request #56 from opticod/fixes2
croozeus Feb 28, 2016
31e8052
Merge pull request #60 from opticod/patch7
croozeus Feb 28, 2016
f3b54ce
Merge pull request #64 from scopeInfinity/somechanges
croozeus Feb 28, 2016
64f2099
Merge pull request #59 from opticod/patch6
croozeus Feb 28, 2016
f390b4d
Merge pull request #57 from opticod/patch3
croozeus Feb 28, 2016
80f5238
Merge pull request #61 from scopeInfinity/fix
croozeus Feb 28, 2016
c4f96fa
removing *.iml files
opticod May 2, 2016
1dd6e89
Updating gradle-->2.1.0
opticod May 2, 2016
b97adfd
Adding missing resources
opticod May 2, 2016
e93ccf0
Update gradle
opticod May 2, 2016
e0b9ad4
Adding .travis.yml
opticod May 2, 2016
27e4afe
Update README.md
opticod May 2, 2016
587ed4e
Updated gradle-wrapper to --->2.10
opticod May 2, 2016
a9cf181
Trying to fix travis
opticod May 2, 2016
5b9c35c
Added new GSoC 2016 Designs
opticod May 2, 2016
2faec2f
Added email Notifications
opticod May 4, 2016
d8b701a
Added VideoCollectionTemplate in Template List
opticod May 4, 2016
672016e
Added video_dialog_add_data.xml
opticod May 6, 2016
3ab10b2
Added video_template_item.xml
opticod May 6, 2016
9616646
Update dimens.xml & strings.xml
opticod May 6, 2016
34e60ba
Added VideoModel.java
opticod May 6, 2016
507f3f8
Added VideoCollectionAdapter
opticod May 6, 2016
92b0c43
Added Picasso Support
opticod May 6, 2016
d8b0955
Added VideoCollectionTemplate
opticod May 6, 2016
b4fe7ea
Added Validation of entered data
opticod May 6, 2016
7b4bda1
Flexible links
opticod May 6, 2016
2dc5d02
Added AsynTask of fetching video info
opticod May 6, 2016
82ffc88
Adding JSOUP
opticod May 6, 2016
d39b4e6
Adding Support for youtube
opticod May 6, 2016
bac7b18
Some fixes of layout
opticod May 7, 2016
b5b94fa
Added custom layout for edit video data
opticod May 7, 2016
6a5a21b
Added Edit facility of video items
opticod May 7, 2016
6a283bc
Removing Hardcorded Strings and Dimens
opticod May 8, 2016
8ce6a86
Added Network Check
opticod May 10, 2016
c576d5c
Fixed 'ioexception writing serializable object'
opticod May 11, 2016
e4664ae
Integrated VideoCollectionApp.apk
opticod May 17, 2016
a70caa1
Creation of APKs with unique id
opticod May 19, 2016
96598f3
Added Video_content.xml
opticod May 20, 2016
5096417
Updated app.fragment --> support.v4.app.fragment
opticod May 20, 2016
7af4ecb
Added Simulator's VIdeoArrayAdapter
opticod May 20, 2016
a92f665
Added Simulator's DataUtils.java
opticod May 20, 2016
c5798fa
Added Simulator's FetchXMLTask.java
opticod May 20, 2016
9672505
Added Simulator's VideoContract.java
opticod May 20, 2016
e6aad43
Added Simulator's VideoDb.java
opticod May 20, 2016
f94edce
Added Simulator's VideoDBHelper
opticod May 20, 2016
6025e1b
Added Simulator's VideoModel.java
opticod May 20, 2016
fd8b3b7
Added Simulator's Constants
opticod May 20, 2016
dbc4cd2
Added Simulator's SplashFragment
opticod May 20, 2016
f5a666b
Added Simulator's MainActivityFragment
opticod May 20, 2016
48dd551
Added Simulator's LastFragment.java
opticod May 20, 2016
1c0fab5
Added Simulator's DetailActivityFragment.java
opticod May 20, 2016
8537c4b
Added Resources files
opticod May 20, 2016
3be75bc
Change of theme
opticod May 23, 2016
e2a8303
Improvement of Code Quality-1
opticod May 25, 2016
326ebc5
Added ComprehensionTemplate.java
opticod May 26, 2016
6be14f5
Added ComprehensionAdapter.java
opticod May 26, 2016
4302123
Added ComprehensionModel.java
opticod May 26, 2016
8956137
Updated ComprehensionTemplate Designs
opticod May 26, 2016
46c4ff7
Added comprehension_meta_item.xml
opticod May 27, 2016
33f7472
Added comprehension_meta_dialog_add_edit_data.xml
opticod May 27, 2016
504c75a
Added ComprehensionMetaModel.java
opticod May 27, 2016
d072a0a
Added ComprehensionMetaAdapter.java
opticod May 27, 2016
d20c095
Implemented and Added MetaDetailsList
opticod May 27, 2016
f4b5737
Implemented Comprehension Add and Edit Question Data
opticod May 28, 2016
ab368d9
Fixed Incorrect highlighting of correct answer on editing
opticod May 28, 2016
d689356
Fixed Views change on long selction + Navigation Bar
opticod May 30, 2016
9203a5d
Enable saving of meta_details in XML
opticod May 30, 2016
8afbfc2
Improve of CardView Layouts
opticod May 30, 2016
c3600e3
Implemented Meta_Details delete
opticod May 30, 2016
0fea4d3
Added RuntimePermission for API>23
opticod May 29, 2016
9a59084
Fixed EmptyViews
opticod May 30, 2016
f2da5c1
Added facility of reading Passage from txt file
opticod May 30, 2016
97190a2
Implemented meta details in header_list_view
opticod May 30, 2016
f295422
Added colors+dimens+strings+styles+drawables+menus
opticod Jun 5, 2016
cbeceaf
Added simulator's main's layouts
opticod Jun 5, 2016
e6ca931
Added simulator's Question's layouts
opticod Jun 5, 2016
3866b94
Added simulator's last fragment layout
opticod Jun 5, 2016
8668827
Slight Refactoring of codes
opticod Jun 5, 2016
1bbcaa8
Added simulator's database files
opticod Jun 5, 2016
c91008e
Added simulator's rest data files
opticod Jun 6, 2016
6ce501f
Added comprehension simulator's Splash + MainFragment
opticod Jun 6, 2016
2389b47
Added comprehension simulator's Question+ Last Fragment
opticod Jun 6, 2016
d5c22c6
Added constants + comprehension_content.xml
opticod Jun 6, 2016
2bdf70f
Added ComprehensionApp.apk
opticod Jun 6, 2016
3fce5e3
Change of default package name of created Apps
opticod Jun 7, 2016
50ede3c
Adding some initial Tests
opticod Jun 7, 2016
6a67dfd
Trying to make build faster + update gradle dependencies
opticod Jun 7, 2016
8634335
Update of travis for espresso test
opticod Jun 7, 2016
26995ac
Trying to perform tests with screen on
opticod Jun 7, 2016
d06aa2e
Added complete Comprehension Template Test
opticod Jun 9, 2016
428ef32
Including UI-automator tests dependency
opticod Jun 10, 2016
35000b0
Added support of youtube short links
opticod Jun 15, 2016
15aaf0b
Change of video_card template design
opticod Jun 16, 2016
1069c01
Added extra space at the bottom of list_view
opticod Jun 16, 2016
6079168
Added updated and smaller in size VideoCollectionApp.apk
opticod Jun 16, 2016
892612d
Fixed size of all items in emulator + color of heading + icon
opticod Jun 16, 2016
e91295e
Added toolbar in simulator video_template
opticod Jun 16, 2016
c84359c
Removed white spaces on video play screen+ increase text of controls
opticod Jun 16, 2016
576e3d5
Added RoundedTransformation
opticod Jun 16, 2016
d2a5473
Fixed the flow of the simulator video_template
opticod Jun 16, 2016
5a69521
Added Updated ComprehensionApp.apk
opticod Jun 17, 2016
99f64ed
Increased comprehension_template line spacing
opticod Jun 17, 2016
cd2c48c
Updated db transactions comprehension_template
opticod Jun 17, 2016
6bfee82
Decreased font size of all items in comprehension_simulator
opticod Jun 17, 2016
31810a6
countDownTimer finish added on transaction
opticod Jun 17, 2016
ebc71e0
Added hd template Img
opticod Jun 17, 2016
00649bc
Added Updated BasicmLearningApp.apk
opticod Jun 20, 2016
f4eedf2
Added info_template simulator' adapter
opticod Jun 20, 2016
0d31fd1
Added info_template simulator' data
opticod Jun 20, 2016
e3ccc61
Added info_template simulator' resource
opticod Jun 20, 2016
cb671ea
Added info_template simulator' fragments
opticod Jun 20, 2016
320aa30
Added info_templates's HD template drawable
opticod Jun 21, 2016
b69d05b
Minor info_template heading correction
opticod Jun 21, 2016
fe8d095
Improvement of Code Quality-2
opticod Jun 21, 2016
0978c25
Added Documentation
opticod Jun 23, 2016
b5e1577
Made changes to support latest changes in youtube metadata
opticod Jun 23, 2016
9735d1b
Added ComprehensionTemplate simulator's last fragment toolbar
opticod Jun 23, 2016
2760ad5
Improved Code Quality- 3
opticod Jun 28, 2016
4cd9e58
Added codacy badge + updated README + travis + APKs
opticod Jun 29, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added simulator's database files
  • Loading branch information
opticod committed Jun 5, 2016
commit 1bbcaa8b767467363f64883aa118f517d2526d47
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package org.buildmlearn.toolkit.comprehensionTemplate.data;

import android.provider.BaseColumns;

/**
* Created by Anupam (opticod) on 5/6/16.
*/

class ComprehensionContract {

public static final class Questions implements BaseColumns {

public static final String TABLE_NAME = "questions";

public static final String QUESTION = "question";
public static final String OPTION_1 = "option_1";
public static final String OPTION_2 = "option_2";
public static final String OPTION_3 = "option_3";
public static final String OPTION_4 = "option_4";
public static final String CORRECT_ANSWER = "correct_answer";
public static final String ANSWERED = "answered";
public static final String ATTEMPTED = "attempted";

}

public static final class MetaDetails implements BaseColumns {

public static final String TABLE_NAME = "meta_details";

public static final String TITLE = "title";
public static final String PASSAGE = "passage";
public static final String TIME = "time";

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package org.buildmlearn.toolkit.comprehensionTemplate.data;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import org.buildmlearn.toolkit.comprehensionTemplate.data.ComprehensionContract.MetaDetails;
import org.buildmlearn.toolkit.comprehensionTemplate.data.ComprehensionContract.Questions;

/**
* Created by Anupam (opticod) on 5/6/16.
*/

class ComprehensionDBHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "comprehension.db";
private static final int DATABASE_VERSION = 1;

public ComprehensionDBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
final String SQL_CREATE__TABLE_A = "CREATE TABLE " + Questions.TABLE_NAME + " (" +
Questions._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
Questions.QUESTION + " TEXT," +
Questions.OPTION_1 + " TEXT," +
Questions.OPTION_2 + " TEXT," +
Questions.OPTION_3 + " TEXT," +
Questions.OPTION_4 + " TEXT," +
Questions.CORRECT_ANSWER + " INTEGER," +
Questions.ANSWERED + " INTEGER," +
Questions.ATTEMPTED + " INTEGER )";

sqLiteDatabase.execSQL(SQL_CREATE__TABLE_A);

final String SQL_CREATE__TABLE_B = "CREATE TABLE " + MetaDetails.TABLE_NAME + " (" +
MetaDetails._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
MetaDetails.TITLE + " TEXT," +
MetaDetails.PASSAGE + " TEXT," +
MetaDetails.TIME + " INTEGER )";

sqLiteDatabase.execSQL(SQL_CREATE__TABLE_B);
}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + Questions.TABLE_NAME);
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + MetaDetails.TABLE_NAME);
onCreate(sqLiteDatabase);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
package org.buildmlearn.toolkit.comprehensionTemplate.data;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.NonNull;

import org.buildmlearn.toolkit.comprehensionTemplate.Constants;
import org.buildmlearn.toolkit.comprehensionTemplate.data.ComprehensionContract.Questions;

import java.util.Arrays;

/**
* Created by Anupam (opticod) on 5/6/16.
*/
public class ComprehensionDb {

private static final String EQUAL = " == ";
private final ComprehensionDBHelper dbHelper;
private SQLiteDatabase db;

public ComprehensionDb(Context context) {
dbHelper = new ComprehensionDBHelper(context);
}

public void open() throws SQLException {
db = dbHelper.getWritableDatabase();
}

public boolean isOpen() {
return db.isOpen();
}

public void close() {
dbHelper.close();
}

public Cursor getMetaCursor() {

return db.query(
ComprehensionContract.MetaDetails.TABLE_NAME,
null,
null,
null,
null,
null,
null
);
}

public void markAnswered(int id, int answer) {

ContentValues values = new ContentValues();
values.put(Questions.ANSWERED, answer);
values.put(Questions.ATTEMPTED, 1);

db.update(Questions.TABLE_NAME, values, Questions._ID + " = ?",
new String[]{String.valueOf(id)});

}

public void deleteAll() {
db.delete(Questions.TABLE_NAME, null, null);
db.delete(ComprehensionContract.MetaDetails.TABLE_NAME, null, null);
db.execSQL("delete from sqlite_sequence where name='" + Questions.TABLE_NAME + "';");
db.execSQL("delete from sqlite_sequence where name='" + ComprehensionContract.MetaDetails.TABLE_NAME + "';");
}

public void markUnAnswered(int id) {

ContentValues values = new ContentValues();
values.put(Questions.ANSWERED, "");
values.put(Questions.ATTEMPTED, 0);

db.update(Questions.TABLE_NAME, values, Questions._ID + " = ?",
new String[]{String.valueOf(id)});

}

public void resetCount() {
for (int i = 1; i <= getCountQuestions(); i++) {
markUnAnswered(i);
}
}

public int[] getStatistics() {
int stat[] = new int[3];
Arrays.fill(stat, 0);

for (int i = 1; i <= getCountQuestions(); i++) {
Cursor cursor = getQuestionCursorById(i);
cursor.moveToFirst();

String correct_answer = cursor.getString(Constants.COL_CORRECT_ANSWER);
int attempted = cursor.getInt(Constants.COL_ATTEMPTED);
if (attempted == 1) {
String answer = cursor.getString(Constants.COL_ANSWERED);
if (answer.equals(correct_answer)) {
stat[0]++;
} else {
stat[1]++;
}
} else {
stat[2]++;
}
}
return stat;
}

public Cursor getQuestionCursorById(int id) {

String selection = Questions._ID + EQUAL + id;

return db.query(
Questions.TABLE_NAME,
null,
selection,
null,
null,
null,
null
);
}

public long getCountQuestions() {

return DatabaseUtils.queryNumEntries(db,
Questions.TABLE_NAME);
}

public int bulkInsertQuestions(@NonNull ContentValues[] values) {

db.beginTransaction();
int returnCount = 0;
try {
for (ContentValues value : values) {

long _id = db.insert(Questions.TABLE_NAME, null, value);
if (_id != -1) {
returnCount++;
}
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return returnCount;
}

public int bulkInsertMetaDetails(@NonNull ContentValues[] values) {

db.beginTransaction();
int returnCount = 0;
try {
for (ContentValues value : values) {

long _id = db.insert(ComprehensionContract.MetaDetails.TABLE_NAME, null, value);
if (_id != -1) {
returnCount++;
}
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return returnCount;
}
}