diff --git a/.travis.yml b/.travis.yml index b80f170..45362f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ android: components: - platform-tools - tools - - build-tools-26.0.2 - - android-26 + - build-tools-27.0.3 + - android-27 - extra-android-m2repository before_script: - chmod +x gradlew diff --git a/app/build.gradle b/app/build.gradle index 9ede0a1..10200c9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,7 +28,11 @@ dependencies { androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' + + //Room dependencies + implementation 'android.arch.persistence.room:runtime:1.0.0' + annotationProcessor 'android.arch.persistence.room:compiler:1.0.0' // butter knife - compile 'com.jakewharton:butterknife:8.8.1' + implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ba96da7..d311298 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,21 +4,24 @@ - + android:theme="@style/AppTheme" + + > + + - - - + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/androidtechies/majorproject/DescriptionActivity.java b/app/src/main/java/com/example/androidtechies/majorproject/DescriptionActivity.java index 6c842fa..b5108e3 100644 --- a/app/src/main/java/com/example/androidtechies/majorproject/DescriptionActivity.java +++ b/app/src/main/java/com/example/androidtechies/majorproject/DescriptionActivity.java @@ -1,9 +1,11 @@ package com.example.androidtechies.majorproject; import android.content.Intent; +import android.os.Bundle; import android.support.design.widget.CollapsingToolbarLayout; import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; import android.util.Log; import android.widget.TextView; @@ -18,11 +20,15 @@ public class DescriptionActivity extends AppCompatActivity { TextView techDescription; @BindView(R.id.collapsingtoolbar) CollapsingToolbarLayout cToolBar; + @BindView(R.id.projectModule) + TextView modulein; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.description); + ButterKnife.bind(this); Intent intent = getIntent(); @@ -30,9 +36,15 @@ protected void onCreate(Bundle savedInstanceState) { String title = model.getTitleOfProject(); String intro = model.getIntroProject(); String tech = model.getTechnologyUsed(); + String module = model.getModulein(); Log.d("Information", title+ " 2 "+intro+ " 3 "+tech); introDescription.setText(intro); + introDescription.setTextSize(20f); techDescription.setText(tech); + techDescription.setTextSize(20f); + modulein.setText(module); + modulein.setTextSize(20f); cToolBar.setTitle(title); + } } diff --git a/app/src/main/java/com/example/androidtechies/majorproject/HomeScreen.java b/app/src/main/java/com/example/androidtechies/majorproject/HomeScreen.java index 65a80ca..a1a09f5 100644 --- a/app/src/main/java/com/example/androidtechies/majorproject/HomeScreen.java +++ b/app/src/main/java/com/example/androidtechies/majorproject/HomeScreen.java @@ -3,27 +3,39 @@ import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.Button; +import com.example.androidtechies.majorproject.RoomSample.AppDatabase; +import com.example.androidtechies.majorproject.RoomSample.DatabaseInitializer; + public class HomeScreen extends AppCompatActivity { public static final String HomeScreenTag = "HomeScreen"; - public static final Integer cseValue = 0; - public static final Integer it = 0; - public static final Integer ece = 0; - public static final Integer eee = 0; + public static final Integer cseValue = 1; + public static final Integer itValue = 0; +// public static final Integer eceValue = 2; +// public static final Integer eeeValue = 3; + AppDatabase appDatabase; + Toolbar homeToolbar; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home_screen); - final Button cse = (Button) findViewById(R.id.cseTag); - Button ece = (Button) findViewById(R.id.eceTag); + + homeToolbar = findViewById(R.id.hometToolbar); + homeToolbar.setTitle("Select Branch"); + + Button cse = (Button) findViewById(R.id.cseTag); +// Button ece = (Button) findViewById(R.id.eceTag); Button it = (Button) findViewById(R.id.itTag); - Button eee = (Button) findViewById(R.id.eeeTag); +// Button eee = (Button) findViewById(R.id.eeeTag); cse.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { + Intent cseIntent = new Intent(HomeScreen.this, ListPage.class); cseIntent.putExtra(HomeScreenTag, cseValue); startActivity(cseIntent); @@ -33,27 +45,42 @@ public void onClick(View view) { // ece.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { -// Intent ece = new Intent(HomeScreen.this, ECEHomeScreen.class); -// startActivity(ece); +// Intent eceIntent = new Intent(HomeScreen.this, ListPage.class); +// eceIntent.putExtra(HomeScreenTag, eceValue); +// startActivity(eceIntent); // -// } -// }); -// it.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View view) { -// Intent it = new Intent(HomeScreen.this, ITHomeScreen.class); -// startActivity(it); // // } // }); + it.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + Intent itIntent = new Intent(HomeScreen.this, ListPage.class); + + itIntent.putExtra(HomeScreenTag, itValue); + startActivity(itIntent); + + + } + }); // eee.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { -// Intent eee = new Intent(HomeScreen.this, EEEHomeScreen.class); -// startActivity(eee); +// +// Intent eeeIntent = new Intent(HomeScreen.this, ListPage.class); +// eeeIntent.putExtra(HomeScreenTag,eeeValue); +// startActivity(eeeIntent); +// // // } // }); } + + + private void populateDatabase() { + DatabaseInitializer.populateAsync(AppDatabase.getAppDatabase(this)); } +} + diff --git a/app/src/main/java/com/example/androidtechies/majorproject/InformationModel.java b/app/src/main/java/com/example/androidtechies/majorproject/InformationModel.java index 6502074..de8ed0d 100644 --- a/app/src/main/java/com/example/androidtechies/majorproject/InformationModel.java +++ b/app/src/main/java/com/example/androidtechies/majorproject/InformationModel.java @@ -11,11 +11,14 @@ public class InformationModel implements Parcelable { String titleOfProject; String introProject; String technologyUsed; + String modulein; - public InformationModel(String titleOfProject, String introProject, String technologyUsed) { + public InformationModel(String titleOfProject, String introProject, String technologyUsed, String modulein) { this.titleOfProject = titleOfProject; this.introProject = introProject; this.technologyUsed = technologyUsed; + this.modulein = modulein; + } public String getTitleOfProject() { @@ -42,9 +45,20 @@ public void setTechnologyUsed(String technologyUsed) { this.technologyUsed = technologyUsed; } + public String getModulein() { + return modulein; + } + + public void setModulein(String modulein) { + this.modulein = modulein; + } + + + @Override public int describeContents() { return hashCode(); + } @Override @@ -52,15 +66,21 @@ public void writeToParcel(Parcel parcel, int i) { parcel.writeString(titleOfProject); parcel.writeString(introProject); parcel.writeString(technologyUsed); + + parcel.writeString(modulein); + } protected InformationModel(Parcel in) { titleOfProject = in.readString(); introProject = in.readString(); technologyUsed = in.readString(); + modulein = in.readString(); } + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override public InformationModel createFromParcel(Parcel in) { return new InformationModel(in); @@ -68,7 +88,9 @@ public InformationModel createFromParcel(Parcel in) { @Override public InformationModel[] newArray(int size) { - return new InformationModel[0]; + + return new InformationModel[size]; + } }; diff --git a/app/src/main/java/com/example/androidtechies/majorproject/ListAdapter.java b/app/src/main/java/com/example/androidtechies/majorproject/ListAdapter.java index a566d9f..d480b45 100644 --- a/app/src/main/java/com/example/androidtechies/majorproject/ListAdapter.java +++ b/app/src/main/java/com/example/androidtechies/majorproject/ListAdapter.java @@ -61,6 +61,7 @@ public MyViewHolder(View itemView) { } } + public interface ClickListener { void onItemClick(View v, int position); diff --git a/app/src/main/java/com/example/androidtechies/majorproject/ListPage.java b/app/src/main/java/com/example/androidtechies/majorproject/ListPage.java index e479454..db93075 100644 --- a/app/src/main/java/com/example/androidtechies/majorproject/ListPage.java +++ b/app/src/main/java/com/example/androidtechies/majorproject/ListPage.java @@ -6,10 +6,13 @@ import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; + +import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.View; import java.util.ArrayList; +import java.util.List; public class ListPage extends AppCompatActivity { ArrayList informationModelArrayList; @@ -19,13 +22,14 @@ public class ListPage extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_page); + Intent intent = getIntent(); - Integer value = intent.getIntExtra(HomeScreen.HomeScreenTag,0); + Integer value = intent.getIntExtra(HomeScreen.HomeScreenTag,1); informationModelArrayList = new ArrayList<>(); informationModelArrayList = createFakeData(value); - recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + recyclerView = findViewById(R.id.recyclerView); // listAdapter = new ListAdapter(informationModelArrayList, this); listAdapter = new ListAdapter(informationModelArrayList, this, new ListAdapter.ClickListener() { @@ -34,6 +38,7 @@ public void onItemClick(View v, int position) { Intent intent = new Intent(ListPage.this, DescriptionActivity.class); intent.putExtra("Information",informationModelArrayList.get(position)); startActivity(intent); + } }); @@ -47,16 +52,80 @@ public void onItemClick(View v, int position) { private ArrayList createFakeData(int value) { ArrayList arrayList = new ArrayList<>(); - int length = getResources().getStringArray(R.array.project_title_it).length; + Toolbar toolbar = findViewById(R.id.listtoolbar); InformationModel model; - for(int i=0 ; i projectsList = db.projectDao().getAll(); + + int count = db.projectDao().countProjects(); + // Log.d(DatabaseInitializer.TAG,); + Log.d(DatabaseInitializer.TAG, "Branch name: " + projectsList.get(0).getProjectBranch()+ "\nNumber of rows: "+count); + } + + private static class PopulateDbAsync extends AsyncTask { + + private final AppDatabase mDb; + + PopulateDbAsync(AppDatabase db) { + mDb = db; + } + + @Override + protected Void doInBackground(final Void... params) { + populateWithTestData(mDb); + return null; + } + + } +} diff --git a/app/src/main/java/com/example/androidtechies/majorproject/RoomSample/Project.java b/app/src/main/java/com/example/androidtechies/majorproject/RoomSample/Project.java new file mode 100644 index 0000000..dab46d9 --- /dev/null +++ b/app/src/main/java/com/example/androidtechies/majorproject/RoomSample/Project.java @@ -0,0 +1,75 @@ +package com.example.androidtechies.majorproject.RoomSample; + +import android.arch.persistence.room.ColumnInfo; +import android.arch.persistence.room.Entity; +import android.arch.persistence.room.PrimaryKey; + +@Entity(tableName = "project_table") +public class Project { + + @PrimaryKey(autoGenerate = true) + private int id; + + @ColumnInfo(name = "branch") + private String projectBranch; + + @ColumnInfo(name = "title_project") + private String titleOfProject; + + @ColumnInfo(name = "intro_project") + private String introOfProject; + + @ColumnInfo(name = "technology_used") + private String technologyUsed; + + @ColumnInfo(name = "modules") + private String modulesOfProject; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getProjectBranch() { + return projectBranch; + } + + public void setProjectBranch(String projectBranch) { + this.projectBranch = projectBranch; + } + + public String getTitleOfProject() { + return titleOfProject; + } + + public void setTitleOfProject(String titleOfProject) { + this.titleOfProject = titleOfProject; + } + + public String getIntroOfProject() { + return introOfProject; + } + + public void setIntroOfProject(String introOfProject) { + this.introOfProject = introOfProject; + } + + public String getTechnologyUsed() { + return technologyUsed; + } + + public void setTechnologyUsed(String technologyUsed) { + this.technologyUsed = technologyUsed; + } + + public String getModulesOfProject() { + return modulesOfProject; + } + + public void setModulesOfProject(String modulesOfProject) { + this.modulesOfProject = modulesOfProject; + } +} diff --git a/app/src/main/java/com/example/androidtechies/majorproject/RoomSample/ProjectDao.java b/app/src/main/java/com/example/androidtechies/majorproject/RoomSample/ProjectDao.java new file mode 100644 index 0000000..26ded65 --- /dev/null +++ b/app/src/main/java/com/example/androidtechies/majorproject/RoomSample/ProjectDao.java @@ -0,0 +1,27 @@ +package com.example.androidtechies.majorproject.RoomSample; + + +import android.arch.persistence.room.Dao; +import android.arch.persistence.room.Delete; +import android.arch.persistence.room.Insert; +import android.arch.persistence.room.Query; + +import java.util.List; + +@Dao +public interface ProjectDao { + + @Query("SELECT * FROM project_table") + List getAll(); + + + @Query("SELECT COUNT(*) from project_table") + int countProjects(); + + @Insert + void insertAll(Project... users); + + @Delete + void delete(Project user); + +} diff --git a/app/src/main/java/com/example/androidtechies/majorproject/SplashScreen.java b/app/src/main/java/com/example/androidtechies/majorproject/SplashScreen.java index 109febf..64ff9c4 100644 --- a/app/src/main/java/com/example/androidtechies/majorproject/SplashScreen.java +++ b/app/src/main/java/com/example/androidtechies/majorproject/SplashScreen.java @@ -2,6 +2,7 @@ import android.annotation.SuppressLint; import android.content.Intent; +import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.animation.Animation; @@ -18,24 +19,14 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_main); textView=(TextView) findViewById(R.id.projectName); imageView=(ImageView) findViewById(R.id.splashIcon); - Animation myanim = AnimationUtils.loadAnimation(this,R.anim.mytransition); - textView.startAnimation(myanim); - imageView.startAnimation(myanim); - final Intent branch = new Intent(this,HomeScreen.class); - Thread timer = new Thread(){ - public void run(){ - try { - sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - finally { - startActivity(branch); - finish(); - } + Handler splash = new Handler(); + splash.postDelayed(new Runnable() { + @Override + public void run() { + Intent branch = new Intent(SplashScreen.this,HomeScreen.class); + startActivity(branch); } - }; - timer.start(); + },2000); } } diff --git a/app/src/main/res/anim/mytransition.xml b/app/src/main/res/anim/mytransition.xml deleted file mode 100644 index 95a5e08..0000000 --- a/app/src/main/res/anim/mytransition.xml +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/app/src/main/res/drawable/atlogo.png b/app/src/main/res/drawable/atlogo.png new file mode 100644 index 0000000..f48a00c Binary files /dev/null and b/app/src/main/res/drawable/atlogo.png differ diff --git a/app/src/main/res/drawable/round_corner.xml b/app/src/main/res/drawable/round_corner.xml new file mode 100644 index 0000000..6adf4c9 --- /dev/null +++ b/app/src/main/res/drawable/round_corner.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_home_screen.xml b/app/src/main/res/layout/activity_home_screen.xml index 79bbb87..318b47e 100644 --- a/app/src/main/res/layout/activity_home_screen.xml +++ b/app/src/main/res/layout/activity_home_screen.xml @@ -1,51 +1,73 @@ -