diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 35659d6..a5d4cab 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -12,12 +12,7 @@
-
+
diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml
new file mode 100644
index 0000000..d819570
--- /dev/null
+++ b/.idea/markdown-navigator.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml
new file mode 100644
index 0000000..57927c5
--- /dev/null
+++ b/.idea/markdown-navigator/profiles_settings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 4fbe0a1..39152ba 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,9 +1,10 @@
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
android {
- compileSdkVersion 'Google Inc.:Google APIs:21'
- buildToolsVersion "22.0.1"
+ compileSdkVersion 21
+ buildToolsVersion '25.0.0'
defaultConfig {
applicationId "com.ap.collegespacev2"
@@ -21,8 +22,19 @@ android {
}
dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:21.+'
+ compile fileTree(include: ['*.jar'], dir: 'libs')
+ compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
+ compile 'com.android.support:appcompat-v7:21.0.3'
+ compile 'com.android.support:support-v4:23.2.1'
compile 'com.google.android.gms:play-services-gcm:7.5.0'
+ compile 'com.android.support.constraint:constraint-layout:1.0.2'
+ compile 'com.android.support:recyclerview-v7:21.0.3'
+ compile 'com.android.support:cardview-v7:21.0.3'
+ compile 'com.squareup.retrofit2:retrofit:2.3.0'
+ compile 'com.squareup.retrofit2:converter-gson:2.3.0'
+ compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
+ testCompile 'junit:junit:4.12'
+}
+repositories {
+ mavenCentral()
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5b82eaf..29122e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,13 +2,16 @@
-
-
+
+
-
+
+
-
+ android:name=".Home"
+ android:label="@string/app_name" />
-
+ android:name=".Settings"
+ android:label="@string/app_name" />
-
+ android:name=".NSITulator"
+ android:label="@string/app_name" />
-
+ android:name=".Bookmarks"
+ android:label="@string/app_name" />
-
+ android:name=".Calculator"
+ android:label="@string/app_name" />
-
+ android:name=".BaseActivity"
+ android:label="@string/app_name" />
+
-
+ android:name=".PostDetails"
+ android:configChanges="keyboardHidden|orientation|screenSize"
+ android:theme="@style/ThemeFading" />
+ android:name=".Gcm.GcmBroadcastReceiver"
+ android:permission="com.google.android.c2dm.permission.SEND">
+
+
-
+
+
+
+
+
-
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/ap/collegespacev2/Adapter/NsitPediaAdapter.java b/app/src/main/java/com/ap/collegespacev2/Adapter/NsitPediaAdapter.java
new file mode 100644
index 0000000..6ab365e
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/Adapter/NsitPediaAdapter.java
@@ -0,0 +1,99 @@
+package com.ap.collegespacev2.Adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.text.Html;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.ap.collegespacev2.Models.NpediaPosts;
+import com.ap.collegespacev2.R;
+import com.bumptech.glide.Glide;
+
+
+import java.util.ArrayList;
+
+/**
+ * Created by anirudh on 26/07/17.
+ */
+
+public class NsitPediaAdapter extends RecyclerView.Adapter {
+
+ ArrayList arrayListPosts ;
+ Context mContext ;
+ OnItemCLickedListener onItemCLickedListener;
+
+ public NsitPediaAdapter(ArrayList arrayListPosts, Context mContext , OnItemCLickedListener oicl) {
+ this.arrayListPosts = arrayListPosts;
+ this.mContext = mContext;
+ this.onItemCLickedListener = oicl ;
+
+ }
+ public void updatePosts(ArrayList arrayListPosts){
+ this.arrayListPosts = arrayListPosts ;
+ notifyDataSetChanged();
+ }
+ public interface OnItemCLickedListener {
+ void onItemCLicked(View view , NpediaPosts thisPost);
+ }
+ @Override
+ public PostsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ LayoutInflater li = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View itemView = li.inflate(R.layout.list_nsitpedia_posts , parent , false) ;
+ return new PostsViewHolder(itemView);
+ }
+
+ @Override
+ public void onBindViewHolder(PostsViewHolder holder, int position) {
+ final NpediaPosts thisPost = arrayListPosts.get(position) ;
+ holder.tvTitle.setText(thisPost.getTitle());
+ holder.tvDescription.setText(Html.fromHtml(thisPost.getExcerpt()));
+ holder.tvAuthor.setText(thisPost.getAuthor().getUsername());
+ if(thisPost.getAuthor().getAvatar().equals("avatar")) {
+ Glide.with(mContext)
+ .load(R.drawable.ic_person)
+ .into(holder.ivAvatar);
+ }else{
+ Glide.with(mContext)
+ .load(thisPost.getAuthor().getAvatar())
+ .into(holder.ivAvatar);
+ }
+
+ if(!thisPost.getFeatured_image().getGuid().equals("guid")){
+ Glide.with(mContext)
+ .load(thisPost.getFeatured_image().getGuid())
+ .into(holder.ivFeaturedImage) ;
+
+ }
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ onItemCLickedListener.onItemCLicked(v , thisPost);
+ }
+ });
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return arrayListPosts.size();
+ }
+
+ class PostsViewHolder extends RecyclerView.ViewHolder{
+ TextView tvTitle , tvAuthor , tvDescription ;
+ ImageView ivAvatar , ivFeaturedImage;
+ View itemView ;
+ public PostsViewHolder(View itemView) {
+ super(itemView);
+ tvTitle = (TextView) itemView.findViewById(R.id.tvTitle) ;
+ tvAuthor = (TextView) itemView.findViewById(R.id.tvPostersName) ;
+ tvDescription = (TextView) itemView.findViewById(R.id.tvDescription) ;
+ ivAvatar = (ImageView)itemView.findViewById(R.id.ivProfilePic) ;
+ ivFeaturedImage = (ImageView)itemView.findViewById(R.id.ivFeaturedImage) ;
+ this.itemView = itemView ;
+ }
+ }
+}
diff --git a/app/src/main/java/com/ap/collegespacev2/BaseActivity.java b/app/src/main/java/com/ap/collegespacev2/BaseActivity.java
index d1bd156..42258e2 100644
--- a/app/src/main/java/com/ap/collegespacev2/BaseActivity.java
+++ b/app/src/main/java/com/ap/collegespacev2/BaseActivity.java
@@ -173,6 +173,7 @@ public void onItemClick(AdapterView> parent, View view, int position, long id)
switch (position)
{
case 0: toStart = new Intent(BaseActivity.this, Home.class); break;
+ case 1 : toStart = new Intent(BaseActivity.this , NsitPediaActivity.class) ; break ;
case 2: toStart = new Intent(BaseActivity.this, Bookmarks.class); break;
case 4: toStart = new Intent(BaseActivity.this, NSITulator.class); break;
case 5: toStart = new Intent(BaseActivity.this, Settings.class); break;
diff --git a/app/src/main/java/com/ap/collegespacev2/Helper/DBHelper.java b/app/src/main/java/com/ap/collegespacev2/Helper/DBHelper.java
index 3c7dbc5..a942e2f 100644
--- a/app/src/main/java/com/ap/collegespacev2/Helper/DBHelper.java
+++ b/app/src/main/java/com/ap/collegespacev2/Helper/DBHelper.java
@@ -25,9 +25,10 @@ public class DBHelper extends SQLiteOpenHelper
public static final String TABLE_UPDATES_DATE = "date";
public static final String TABLE_UPDATES_MODIFIED = "modified";
+
public DBHelper(Context context)
{
- super(context, DATABASE_NAME, null, 1);
+ super(context, DATABASE_NAME, null, 2);
}
@Override
@@ -40,6 +41,7 @@ public void onCreate(SQLiteDatabase db)
TABLE_UPDATES_LINK + " TEXT, " +
TABLE_UPDATES_DATE + " TEXT, " +
TABLE_UPDATES_MODIFIED + " TEXT)");
+ db.execSQL(NSITpediaTable.CMD_CREATE_TABLE);
Log.i("DBHelper", "onCreate()");
}
diff --git a/app/src/main/java/com/ap/collegespacev2/Helper/DBUtils.java b/app/src/main/java/com/ap/collegespacev2/Helper/DBUtils.java
new file mode 100644
index 0000000..c4a2d59
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/Helper/DBUtils.java
@@ -0,0 +1,18 @@
+package com.ap.collegespacev2.Helper;
+
+/**
+ * Created by anirudh on 29/07/17.
+ */
+
+public class DBUtils {
+ public static final String CREATE_TABLE = " CREATE TABLE " ;
+ public static final String LBR = " ( " ;
+ public static final String RBR = " ) " ;
+ public static final String COMMA = " , " ;
+ public static final String SEMI = " ; " ;
+
+ public static final String TYPE_INTEGER = " INTEGER " ;
+ public static final String TYPE_TEXT = " TEXT " ;
+ public static final String TYPE_INT_PK = " INTEGER PRIMARY KEY " ;
+ public static final String TYPE_BOOLEAN = " BOOLEAN " ;
+}
diff --git a/app/src/main/java/com/ap/collegespacev2/Helper/NSITpediaTable.java b/app/src/main/java/com/ap/collegespacev2/Helper/NSITpediaTable.java
new file mode 100644
index 0000000..4cc90ca
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/Helper/NSITpediaTable.java
@@ -0,0 +1,124 @@
+package com.ap.collegespacev2.Helper;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.SQLException;
+import android.database.sqlite.SQLiteDatabase;
+import android.util.Log;
+
+import com.ap.collegespacev2.Models.DBNPediaPosts;
+import com.ap.collegespacev2.Models.NpediaPosts;
+
+import java.util.ArrayList;
+
+import static com.ap.collegespacev2.Helper.DBUtils.*;
+
+/**
+ * Created by anirudh on 29/07/17.
+ */
+
+public class NSITpediaTable {
+ public static final String TAG = "NSITpediaTable";
+ public static final String TABLE_NAME = "NSITpedia";
+
+ interface Columns {
+ String COL_ID = "id";
+ String COL_EXCERPT = "excerpt";
+ String COL_TITLE = "title";
+ String COL_AUTHOR_NAME = "author";
+ String COL_AUTHOR_AVATAR = "avatar";
+ String COL_IMAGE = "image";
+ String COL_CONTENT = "content" ;
+
+ }
+
+ public static final String CMD_CREATE_TABLE =
+ CREATE_TABLE +
+ TABLE_NAME + LBR +
+ Columns.COL_ID + TYPE_INT_PK + COMMA +
+ Columns.COL_TITLE + TYPE_TEXT + COMMA +
+ Columns.COL_EXCERPT + TYPE_TEXT + COMMA +
+ Columns.COL_CONTENT + TYPE_TEXT + COMMA +
+ Columns.COL_AUTHOR_NAME + TYPE_TEXT +
+ RBR + SEMI;
+
+
+ public static ArrayList getNPediaPosts(SQLiteDatabase db) {
+
+ ArrayList posts = new ArrayList<>();
+ ArrayList npediaPostses = new ArrayList<>() ;
+ Cursor csr = db.query(TABLE_NAME
+ , new String[]{
+ Columns.COL_TITLE,
+ Columns.COL_ID,
+ Columns.COL_EXCERPT,
+ Columns.COL_AUTHOR_NAME ,
+ Columns.COL_CONTENT
+ },
+ null,
+ null,
+ null,
+ null,
+ Columns.COL_ID + " DESC"
+ );
+ while (csr.moveToNext()) {
+ posts.add(
+ new DBNPediaPosts(
+ csr.getInt(csr.getColumnIndex(Columns.COL_ID)),
+ csr.getString(csr.getColumnIndex(Columns.COL_TITLE)),
+ csr.getString(csr.getColumnIndex(Columns.COL_EXCERPT)),
+ csr.getString(csr.getColumnIndex(Columns.COL_AUTHOR_NAME)))
+ );
+ npediaPostses.add(
+ new NpediaPosts(
+ csr.getInt(csr.getColumnIndex(Columns.COL_ID)),
+ csr.getString(csr.getColumnIndex(Columns.COL_TITLE)),
+ csr.getString(csr.getColumnIndex(Columns.COL_CONTENT)) ,
+ "link" ,
+ new NpediaPosts.Author(csr.getString(csr.getColumnIndex(Columns.COL_AUTHOR_NAME)) , "avatar") ,
+ csr.getString(csr.getColumnIndex(Columns.COL_EXCERPT)),
+ new NpediaPosts.FeaturedImage("guid")
+ )
+ ) ;
+
+ }
+
+ Log.d(TAG, "getNPediaPosts: " + npediaPostses.size());
+ return npediaPostses;
+ }
+
+
+ public static void addData(SQLiteDatabase db, int id, String title, String excerpt, String author_name , String content) {
+
+ Cursor c = db.query(TABLE_NAME ,
+ new String[]{Columns.COL_ID} , Columns.COL_ID + "= ?"
+ ,new String[]{String.valueOf(id)}
+ , null ,null ,null , null) ;
+
+ if(c.moveToNext()){
+ Log.d(TAG, "addData: Not added already exist : " + id);
+ return;
+ }
+ ContentValues cv = new ContentValues();
+ cv.put(Columns.COL_ID, id);
+ cv.put(Columns.COL_TITLE, title);
+ cv.put(Columns.COL_EXCERPT, excerpt);
+ cv.put(Columns.COL_AUTHOR_NAME, author_name);
+ cv.put(Columns.COL_CONTENT , content);
+ db.insert(TABLE_NAME, null, cv);
+
+ }
+
+ public static void deleteTable(SQLiteDatabase db) {
+ db.delete(TABLE_NAME, null, null);
+ }
+
+ public static void dropTable(SQLiteDatabase db) {
+ db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
+ }
+
+ public static void createTable(SQLiteDatabase db) {
+ db.execSQL(CMD_CREATE_TABLE);
+ }
+}
diff --git a/app/src/main/java/com/ap/collegespacev2/Helper/NsitPediaApi.java b/app/src/main/java/com/ap/collegespacev2/Helper/NsitPediaApi.java
new file mode 100644
index 0000000..e0a28b6
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/Helper/NsitPediaApi.java
@@ -0,0 +1,18 @@
+package com.ap.collegespacev2.Helper;
+
+import com.ap.collegespacev2.Models.NpediaPosts;
+
+import java.util.ArrayList;
+
+import retrofit2.Call;
+import retrofit2.http.GET;
+
+/**
+ * Created by anirudh on 26/07/17.
+ */
+
+public interface NsitPediaApi {
+
+ @GET("posts")
+ Call> getPosts() ;
+}
diff --git a/app/src/main/java/com/ap/collegespacev2/Launcher.java b/app/src/main/java/com/ap/collegespacev2/Launcher.java
index 28ed7dd..1ce9d34 100644
--- a/app/src/main/java/com/ap/collegespacev2/Launcher.java
+++ b/app/src/main/java/com/ap/collegespacev2/Launcher.java
@@ -1,5 +1,6 @@
package com.ap.collegespacev2;
+import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
diff --git a/app/src/main/java/com/ap/collegespacev2/Models/DBNPediaPosts.kt b/app/src/main/java/com/ap/collegespacev2/Models/DBNPediaPosts.kt
new file mode 100644
index 0000000..230d7cb
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/Models/DBNPediaPosts.kt
@@ -0,0 +1,6 @@
+package com.ap.collegespacev2.Models
+
+/**
+ * Created by anirudh on 29/07/17.
+ */
+data class DBNPediaPosts(var id : Int , var title : String , var excerpt : String , var Author : String)
\ No newline at end of file
diff --git a/app/src/main/java/com/ap/collegespacev2/Models/NpediaPosts.kt b/app/src/main/java/com/ap/collegespacev2/Models/NpediaPosts.kt
new file mode 100644
index 0000000..e648c9d
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/Models/NpediaPosts.kt
@@ -0,0 +1,13 @@
+package com.ap.collegespacev2.Models
+
+import android.support.annotation.Nullable
+
+/**
+ * Created by anirudh on 26/07/17.
+ */
+data class NpediaPosts (var ID : Int, var title : String, var content : String,
+ var link : String, var author : Author,
+ var excerpt : String, var featured_image : FeaturedImage) {
+ data class Author(var username : String , var avatar : String)
+ data class FeaturedImage( var guid : String)
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ap/collegespacev2/NSITpediaPostDetails.java b/app/src/main/java/com/ap/collegespacev2/NSITpediaPostDetails.java
new file mode 100644
index 0000000..d16be53
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/NSITpediaPostDetails.java
@@ -0,0 +1,99 @@
+package com.ap.collegespacev2;
+
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.support.v7.app.ActionBarActivity;
+import android.os.Bundle;
+import android.text.Html;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.webkit.WebView;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.ap.collegespacev2.Helper.PostViewer;
+import com.bumptech.glide.Glide;
+
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+
+public class NSITpediaPostDetails extends ActionBarActivity {
+
+ public static final String TAG = "NSITpediaPostDetails" ;
+ TextView tvTitle ;
+ WebView webView ;
+ ImageView ivFeaturedImage ;
+ String link , title ;
+ Integer id ;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_nsitpedia_post_details);
+
+ tvTitle = (TextView) findViewById(R.id.tvTitleNPediaDetails);
+ webView = (WebView) findViewById(R.id.webViewNsitPedia) ;
+
+ ivFeaturedImage = (ImageView)findViewById(R.id.ivFeaturedImageNPediaDetails) ;
+ getSupportActionBar().setTitle("NSITpedia");
+
+ title = getIntent().getStringExtra("title") ;
+ String featured_image = getIntent().getStringExtra("featured_image") ;
+ String content = getIntent().getStringExtra("content") ;
+ String author = getIntent().getStringExtra("author") ;
+ link = getIntent().getStringExtra("link") ;
+ id = getIntent().getIntExtra("id" , 0) ;
+
+ tvTitle.setText(title);
+ webView.setWebViewClient(new PostViewer());
+ webView.setBackgroundColor(0xffeeeeee);//Android's default background color
+ webView.loadData(content, "text/html", "utf-8");
+
+ Glide.with(this).load(featured_image).into(ivFeaturedImage) ;
+
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+
+ MenuInflater mi = getMenuInflater() ;
+ mi.inflate(R.menu.details , menu);
+ MenuItem fav = menu.findItem(R.id.menu_fav);
+ fav.setVisible(false);
+
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+
+ switch(item.getItemId()){
+
+ case R.id.menu_share :
+ Intent sendIntent = new Intent();
+ sendIntent.setAction(Intent.ACTION_SEND);
+ sendIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(title) + "\n" + link);
+ sendIntent.setType("text/plain");
+ startActivity(Intent.createChooser(sendIntent, getString(R.string.action_share)));
+ break ;
+ case R.id.menu_web : startActivity(new Intent(Intent.ACTION_VIEW , Uri.parse(link)));
+ break ;
+ case R.id.menu_fav :
+ break;
+ case R.id.menu_not_fav :
+ break ;
+ default:
+ Log.d(TAG, "onOptionsItemSelected: Wrong option " );
+
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+
+
+}
diff --git a/app/src/main/java/com/ap/collegespacev2/NsitPediaActivity.java b/app/src/main/java/com/ap/collegespacev2/NsitPediaActivity.java
new file mode 100644
index 0000000..faffa86
--- /dev/null
+++ b/app/src/main/java/com/ap/collegespacev2/NsitPediaActivity.java
@@ -0,0 +1,107 @@
+package com.ap.collegespacev2;
+
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.database.sqlite.SQLiteDatabase;
+import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.Log;
+import android.view.View;
+import android.widget.Toast;
+
+import com.ap.collegespacev2.Adapter.NsitPediaAdapter;
+import com.ap.collegespacev2.Helper.DBHelper;
+import com.ap.collegespacev2.Helper.NSITpediaTable;
+import com.ap.collegespacev2.Helper.NsitPediaApi;
+import com.ap.collegespacev2.Models.NpediaPosts;
+
+import java.util.ArrayList;
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class NsitPediaActivity extends BaseActivity {
+
+ public static final String TAG = "NsitPediaActivity : ";
+ RecyclerView rvPosts;
+ NsitPediaAdapter adapter;
+ ArrayList listPostsNPedias;
+ DBHelper dbHelper;
+ SQLiteDatabase db;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_nsit_pedia, 2);
+ getSupportActionBar().setTitle("NSITpedia");
+ rvPosts = (RecyclerView) findViewById(R.id.rvPostsNsitPedia);
+ rvPosts.setLayoutManager(new LinearLayoutManager(this));
+ dbHelper = new DBHelper(this);
+ db = dbHelper.getWritableDatabase();
+
+ listPostsNPedias = new ArrayList<>();
+ adapter = new NsitPediaAdapter(listPostsNPedias, this, new NsitPediaAdapter.OnItemCLickedListener() {
+ @Override
+ public void onItemCLicked(View view, NpediaPosts thisPost) {
+ Log.d(TAG, "onItemCLicked: ");
+ Intent i = new Intent(NsitPediaActivity.this, NSITpediaPostDetails.class);
+ i.putExtra("title", thisPost.getTitle());
+ i.putExtra("content", thisPost.getContent());
+ i.putExtra("featured_image", thisPost.getFeatured_image().getGuid());
+ i.putExtra("author", thisPost.getAuthor().getUsername());
+ i.putExtra("link", thisPost.getLink());
+ i.putExtra("id", thisPost.getID());
+ startActivity(i);
+ }
+ });
+
+
+ listPostsNPedias = NSITpediaTable.getNPediaPosts(db) ;
+ adapter.updatePosts(listPostsNPedias);
+ rvPosts.setAdapter(adapter);
+
+ Log.d(TAG, "onCreate: deleted DataBase");
+ Log.d(TAG, "onCreate: " + NSITpediaTable.getNPediaPosts(db).size());
+ Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://nsitpedia.collegespace.in/wp-json/")
+ .addConverterFactory(GsonConverterFactory.create())
+ .build();
+ NsitPediaApi api = retrofit.create(NsitPediaApi.class);
+
+ api.getPosts().enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, final Response> response) {
+
+ adapter.updatePosts(response.body());
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ for (NpediaPosts post : response.body()) {
+ NSITpediaTable.addData(
+ db,
+ post.getID(),
+ post.getTitle(),
+ post.getExcerpt(),
+ post.getAuthor().getUsername() ,
+ post.getContent()
+ );
+ }
+ }
+ }).run();
+
+
+
+ }
+
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+ Log.d(TAG, "onFailure: ");
+ Toast.makeText(NsitPediaActivity.this, "Connection error", Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+}
diff --git a/app/src/main/res/drawable-v21/ic_person.xml b/app/src/main/res/drawable-v21/ic_person.xml
new file mode 100644
index 0000000..b6308a2
--- /dev/null
+++ b/app/src/main/res/drawable-v21/ic_person.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_person.xml b/app/src/main/res/drawable/ic_person.xml
new file mode 100644
index 0000000..b6308a2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_person.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/app/src/main/res/layout/activity_nsit_pedia.xml b/app/src/main/res/layout/activity_nsit_pedia.xml
new file mode 100644
index 0000000..43e8c6c
--- /dev/null
+++ b/app/src/main/res/layout/activity_nsit_pedia.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_nsitpedia_post_details.xml b/app/src/main/res/layout/activity_nsitpedia_post_details.xml
new file mode 100644
index 0000000..8c5272e
--- /dev/null
+++ b/app/src/main/res/layout/activity_nsitpedia_post_details.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/list_nsitpedia_posts.xml b/app/src/main/res/layout/list_nsitpedia_posts.xml
new file mode 100644
index 0000000..7777f01
--- /dev/null
+++ b/app/src/main/res/layout/list_nsitpedia_posts.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 65333c6..4f66ef7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,12 +1,14 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
+ ext.kotlin_version = '1.1.3-2'
repositories {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
+ classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:1.3.0-beta1'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 122a0dc..31298fe 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Dec 28 10:00:20 PST 2015
+#Mon Jul 24 00:09:04 IST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip