diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..0086358
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1 @@
+blank_issues_enabled: true
diff --git a/.github/ISSUE_TEMPLATE/new_issue_creation_form.yml b/.github/ISSUE_TEMPLATE/new_issue_creation_form.yml
new file mode 100644
index 0000000..aa6edd6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/new_issue_creation_form.yml
@@ -0,0 +1,78 @@
+name: New Issue
+description: For a new issue creation
+title: "Type your issue title"
+labels: ["help wanted", "GSSoC22"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ ### Thanks for taking the time to create a new issue!
+ - type: markdown
+ attributes:
+ value: |
+ - Issue will be assigned on a first come first serve basis.
+ - If you are thinking to make a pr then at first be sure to get assigned.
+ - before pushing your PR please make sure to fetch upstream.
+ - your pr should be pushed on the `develop` branch only.
+ - try to complete your assigned task within specified and if you need more time then please let us know.
+ - for Level1 : max 3 days
+ - for Level2 : max 5 days
+ - for Level3 : max 7 day
+ As the program has limited time only so please try to complete as fast as you can.
+ - With your PR try to send a screenshot or screen recording of your work
+ - type: input
+ id: contact
+ attributes:
+ label: Contact Details
+ description: How can we get in touch with you if we need more info?
+ placeholder: ex. email@example.com
+ validations:
+ required: false
+ - type: dropdown
+ id: isGssoc
+ attributes:
+ label: GSSoC-22
+ description: Are you making the issue for GSSoC-22?
+ options:
+ - "yes"
+ - "no"
+ validations:
+ required: true
+ - type: dropdown
+ id: issueType
+ attributes:
+ label: Type of Issue
+ description: for what you are creating the issue?
+ options:
+ - Bug
+ - New Feature
+ - UI Related
+ - Others
+ validations:
+ required: true
+ - type: textarea
+ id: issuedescription
+ attributes:
+ label: Description
+ description: Also tell us, the detail of your issue..
+ placeholder: Tell us why you are creating the issue!
+ value: "A bug happened!"
+ validations:
+ required: true
+ - type: textarea
+ id: bugLog
+ attributes:
+ label: Error Logs
+ description: If the issue for bug please share the log.
+ render: shell
+ placeholder: paste your log here
+ validations:
+ required: false
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Code of Conduct
+ description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ByteMonk-GCECT/GCECT-APP/blob/develop/Assets/Contributing.md)
+ options:
+ - label: I agree to follow this project's Code of Conduct
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/ui-related-issue-template.md b/.github/ISSUE_TEMPLATE/ui-related-issue-template.md
new file mode 100644
index 0000000..e7c4b85
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/ui-related-issue-template.md
@@ -0,0 +1,33 @@
+---
+name: UI Related Issue Template
+about: For all UI suggetion or Implementation related Issues. Or you can use the `New Issue` Template too.
+title: UI Related
+labels: GSSoC22, help wanted, UI
+assignees: ''
+
+---
+
+## Issue Type:
+- [ ] New UI Suggestion
+- [ ] Suggestion for existing UI
+- [ ] UI implementation
+- [ ] others
+
+## Description:
+
+
+## ScreenShots / Video:
+> If you have any UI related suggestion then please share a screen shot or recorded video
+
+
+## PR Instruction:
+ - Issue will be assigned on a first come first serve basis.
+ - If you are thinking to make a pr then at first be sure to get assigned.
+ - before pushing your PR please make sure to fetch upstream.
+ - your pr should be pushed on the `develop` branch only.
+ - try to complete your assigned task within specified and if you need more time then please let us know.
+ - for Level1 : max 3 days
+ - for Level2 : max 5 days
+ - for Level3 : max 7 day
+ As the program has limited time only so please try to complete as fast as you can.
+ - With your PR try to send a screenshot or screen recording of your work
diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
new file mode 100644
index 0000000..a145ef7
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
@@ -0,0 +1,30 @@
+
+## Reference:
+
+
+## Explanation:
+
+
+## ScreenShot / Video
+
+
+## Checklist
+
+- [ ] The PR is UI related.
+- [ ] The PR title starts with "Fix #bugnum: ", followed by a short, clear summary of the changes. (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".)
+- [ ] The PR explanation includes the words "Fixes #bugnum: ..." (or "Fixes part of #bugnum" if the PR only partially fixes an issue).
+- [ ] The PR does not contain any unnecessary auto-generated code from Android Studio.
+- [ ] The PR does not break any part of the existing code.
+- [ ] The PR creator have carefully read & adher to the contributing guidelines of the project.
+- [ ] The PR is made to the branch that's **called** "develop".
+- [ ] The PR is made from a branch that is up-to-date with "develop" (fetched to upstream).
+
diff --git a/.gitignore b/.gitignore
index aa724b7..de5e7c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
*.iml
.gradle
/local.properties
+.idea
/.idea/caches
/.idea/libraries
/.idea/modules.xml
diff --git a/.gitignore.swp b/.gitignore.swp
new file mode 100644
index 0000000..95b3f88
Binary files /dev/null and b/.gitignore.swp differ
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..b2f05ec
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,32 @@
+
+
+
+<<<<<<< HEAD
+
+
+
+
+
+
+
+
+
+
+
+
+=======
+
+
+
+
+
+
+
+
+
+
+
+
+>>>>>>> testing2
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index fdce42d..be115a8 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,6 +3,126 @@
-
+
diff --git a/.idea/render.experimental.xml b/.idea/render.experimental.xml
new file mode 100644
index 0000000..8ec256a
--- /dev/null
+++ b/.idea/render.experimental.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/App Navigation.jpg b/Assets/App Navigation.jpg
new file mode 100644
index 0000000..f301756
Binary files /dev/null and b/Assets/App Navigation.jpg differ
diff --git a/Assets/Campus Life Section 1.png b/Assets/Campus Life Section 1.png
new file mode 100644
index 0000000..23bc876
Binary files /dev/null and b/Assets/Campus Life Section 1.png differ
diff --git a/Assets/Campus Life Section 2.png b/Assets/Campus Life Section 2.png
new file mode 100644
index 0000000..fe28807
Binary files /dev/null and b/Assets/Campus Life Section 2.png differ
diff --git a/Assets/Contributing.md b/Assets/Contributing.md
new file mode 100644
index 0000000..4973ed7
--- /dev/null
+++ b/Assets/Contributing.md
@@ -0,0 +1,170 @@
+# Contributing Guidelines
+
+### 👍🎉 First off, welcome to the project and thanks for taking the time to contribute! 🎉👍
+
+
+#### When contributing to this repository, please first discuss the change you wish to make before making a change.
+
+
+## Before Getting Started!
+Learn how to fork a repo, create an issue, make changes, create a pull request.
+Please read our SETUP.md file for setting up our project in your local environment.
+
+For more information, refer to GitHub Documentation
+
+--------
+### Issue Reporting
+* Report the issue and choose bug report or feature request. The template includes all the information we need to track down the issue.
+* This repository is only for issues within the BatteryAlarm Android app code. Issues in other components should be reported in their own repositories.
+* Search the existing issues first, it's likely that your issue was already reported. If your issue appears to be a bug, and hasn't been reported, open a new issue.
+
+## Contributing to Source Code
+### Branching model
+* All contributions bug fix or feature PRs target the develop branch
+* Feature releases will always be based on develop.
+* Bugfix releases will always be based on their respective feature-release-bug-fix-branches
+* Hotfixes not relevant for an upcoming feature release but the latest release can target the bug fix branch directly
+
+### Android Studio formatter setup
+* Standard Android Studio
+* Line length 120 characters (Settings->Editor->Code Style->Right margin(columns): 120)
+* Auto optimize imports (Settings->Editor->Auto Import->Optimize imports on the fly)
+
+### Contribution process
+ * Go through 'Issues' to ensure whether the said issue has already been raised.
+
+ * If you do find a new issue, do not hesitate to open a new one. Make sure to describe any additions required in the message.
+
+ * If you want to contribute on UI theme of the application make sure you maintain the proper color theme of our college app. For reference, you can see our [UI design in figma]( https://www.figma.com/file/6xXpKNhilvlLJ6HUpC2kkC/University-APP?node-id=0%3A1)
+ * If interested, do mention the issue that you want to work on it.
+
+ * Kindly wait for approval from the maintainers of this project before starting to work on any issue.
+
+* *Do not make changes to the main branch.* All the changes should be made to the develop branch.
+
+* Make sure that your code is properly formatted and does not contain any commented-out code.
+
+* Create a pull request after making the required changes and do mention the issue number that your pull request is related to.
+
+* Finally, wait for it to be reviewed. Make the required changes if the reviewer asks for them.
+
+* Your pull request will be merged once everything seems okay.
+
+* That's it! You have successfully made your contribution to the project.
+
+
+### Fork and download android repository
+* Commit your changes locally: git commit -a
+* Push your changes to your GitHub repo: git push
+* Browse to https://github.com/YOURGITHUBNAME/android/pulls and issue a pull request
+* Enter a description and send a pull request.
+
+
+
+
+## GIT AND GITHUB
+
+
+Before continuing we want to clarify the difference between Git and Github. Git is a version control system(VCS) which is a tool to manage the history of our Source Code. GitHub is a hosting service for Git projects.
+
+We assume you have created an account on Github and installed Git on your System.
+
+Now tell Git your name and E-mail (used on Github) address.
+
+ $ git config --global user.name "YOUR NAME"
+ $ git config --global user.email "YOUR EMAIL ADDRESS"
+
+
+This is an important step to mark your commits to your name and email.
+
+### FORK A PROJECT -
+
+You can use [github explore]( https://github.com/explore) to find a project that interests you and match your skills. Once you find your cool project to workon, you can make a copy of project to your account. This process is called forking a project to your Github account. On Upper right side of project page on Github, you can see -
+
+
+
+Click on fork to create a copy of project to your account. This creates a separate copy for you to workon.
+
+### FINDING A FEATURE OR BUG TO WORKON -
+
+Open Source projects always have something to workon and improves with each new release. You can see the issues section to find something you can solve or report a bug. The project managers always welcome new contributors and can guide you to solve the problem. You can find issues in the right section of project page.
+
+
+
+### CLONE THE FORKED PROJECT -
+
+You have forked the project you want to contribute to your github account. To get this project on your development machine we use clone command of git.
+
+$ git clone https://github.com//.git
+Now you have the project on your local machine.
+
+### ADD A REMOTE (UPSTREAM) TO ORIGINAL PROJECT REPOSITORY
+
+Remote means the remote location of project on Github. By cloning, we have a remote called origin which points to your forked repository. Now we will add a remote to the original repository from where we had forked.
+
+ $ cd
+ $ git remote add upstream https://github.com//.git
+
+You will see the benefits of adding remote later.
+
+### SYNCHRONIZING YOUR FORK -
+
+Open Source projects have a number of contributors who can push code anytime. So it is necessary to make your forked copy equal with the original repository. The remote added above called Upstream helps in this.
+
+
+ $ git checkout master
+ $ git fetch upstream
+ $ git merge upstream/master
+ $ git push origin master
+
+
+The last command pushes the latest code to your forked repository on Github. The origin is the remote pointing to your forked repository on GitHub.
+
+### CREATE A NEW BRANCH FOR A FEATURE OR BUGFIX -
+
+Normally, all repositories have a master branch that is considered to remain stable and all new features should be made in a separate branch and after completion merged into the master branch. So we should create a new branch for our feature or bugfix and start working on the issue.
+
+$ git checkout -b
+This will create a new branch out of master branch. Now start working on the problem and commit your changes.
+
+ $ git add --all
+ $ git commit -m ""
+
+
+The first command adds all the files or you can add specific files by removing -a and adding the file names. The second command gives a message to your changes so you can know in the future what changes this commit makes. If you are solving an issue on the original repository, you should add the issue number like #35 to your commit message. This will show the reference to commits in the issue.
+
+### REBASE YOUR FEATURE BRANCH WITH UPSTREAM-
+
+It can happen that your feature takes time to complete and other contributors are constantly pushing code. After completing the feature your feature branch should be rebased on the latest changes to the upstream master branch.
+
+ $ git checkout
+ $ git pull --rebase upstream master
+
+Now you get the latest commits from other contributors and check that your commits are compatible with the new commits. If there are any conflicts solve them.
+
+### SQUASHING YOUR COMMITS-
+
+You have completed the feature, but you have made a number of commits that make less sense. You should squash your commits to make good commits.
+
+$ git rebase -i HEAD~5
+This will open an editor which will allow you to squash the commits.
+
+### PUSH CODE AND CREATE A PULL REQUEST -
+
+Till this point, you have a new branch with the feature or bugfix you want in the project you had forked. Now push your new branch to your remote fork on Github.
+
+$ git push origin
+
+Now you are ready to help the project by opening a pull request means you now tell the project managers to add the feature or bugfix to the original repository. You can open a pull request by clicking on the green icon -
+
+
+
+Remember your upstream base branch should be master and the source should be your feature branch. Click on create a pull request and add a name to your pull request. You can also describe your feature.
+
+Awesome! You have made your first contribution.
+
+#### BE OPEN!
+
+-----------------
+
+### *Note*: Always comment and provide apt descriptions wherever necessary for the efficient running of the project.
diff --git a/Assets/Examination Section.jpg b/Assets/Examination Section.jpg
new file mode 100644
index 0000000..2b7e8f4
Binary files /dev/null and b/Assets/Examination Section.jpg differ
diff --git a/Assets/Home Section 1.jpg b/Assets/Home Section 1.jpg
new file mode 100644
index 0000000..632e69c
Binary files /dev/null and b/Assets/Home Section 1.jpg differ
diff --git a/Assets/Home Section 2.jpg b/Assets/Home Section 2.jpg
new file mode 100644
index 0000000..55d03f4
Binary files /dev/null and b/Assets/Home Section 2.jpg differ
diff --git a/Assets/SETUP.md b/Assets/SETUP.md
new file mode 100644
index 0000000..1851cfe
--- /dev/null
+++ b/Assets/SETUP.md
@@ -0,0 +1,77 @@
+# Setup guidelines
+
+These instructions will help you to set up your development
+environment, get the source code of the BatteryAlarn Android app
+and build it by yourself. If you want to help develop the
+app take a look at the [contribution guidelines](https://github.com/ByteMonk-GCECT/GCECT-APP/blob/develop/Assets/Contributing.md)
+
+If you have any problem, remove the 'android' folder,
+start again from 1) and work your way down. If something
+still does not work as described here, please open a new issue
+describing exactly what you did, what happened, and what should
+have happened.
+
+## 0. Common software dependencies
+
+There are some tools needed, no matter what is your specific
+IDE or build tool of preference.
+
+[git](https://git-scm.com/) is used to access to the different versions of
+the BatteryAlarm's source code. Download and install the
+version appropriate for your operating system from [here](https://git-scm.com/downloads).
+Add the full path to the 'bin/' directory from your git
+installation into the PATH variable of your environment so that
+it can be used from any location.
+
+The [Android SDK](https://developer.android.com/sdk/index.html) is necessary to build the app. There are
+different options to install it in your system, depending of
+the IDE you decide to use. Check Google [documentation](https://developer.android.com/sdk/installing/index.html) about
+installation for more details on these options.
+After installing it, add the full path to the directories 'tools/'
+and 'platform-tools/' from your Android SDK installation
+into the PATH variable of your environment.
+
+Open a terminal and type 'android' to start the Android SDK Manager. To build the Nextcloud for Android app you will need to install at least the next SDK packages:
+
+* Android SDK Tools and Android SDK Platform-tools
+(already installed); upgrade to their last versions is
+usually a good idea.
+
+Install any other package you consider interesting,
+such as emulators.
+
+For other software, dependencies check the details
+in the section corresponding to your preferred IDE or build system.
+
+## 1. Fork & Download GCECT-APP Repository
+
+You will need [git](https://git-scm.com/) to access to the different versions of the Nextcloud's source code. The source code is hosted on GitHub and may be read by anybody, without a GitHub account. You will need one if you want to contribute to the development of the app with your own code.
+
+The next steps will assume you have a GitHub account and that you will get the code from your own fork.
+
+* In a web browser, go to ```https://github.com/ByteMonk-GCECT/GCECT-APP.git```, and click the 'Fork' button near the top right corner.
+* Open a terminal and go on with the next steps in it.
+* Clone your forked repository: git clone ```https://github.com/YOURGITHUBNAME/android.git```.
+* Move to the project folder with ```cd BatteryAlarm```.
+* Pull any changes from your remote branch 'master': `git pull origin master`
+* Make official BatteryAlarm repo known as upstream: `git remote add upstream https://github.com/ByteMonk-GCECT/GCECT-APP.git`
+* Make sure to get the latest changes from official android/master branch: `git pull upstream master`
+
+## 2. Working with Android Studio
+
+[Android Studio](https://developer.android.com/tools/studio/index.html) is currently
+the official Android IDE. Due to this, we recommend it as the
+IDE to use in your development environment. Follow the
+installation instructions [here](https://developer.android.com/sdk/installing/index.html?pkg=studio).
+
+We recommend to use the last version available in
+the stable channel of Android Studio updates.
+See what update channel is your Android Studio checking for
+updates in the menu path 'Help'/'Check for Update…'/link 'Updates' in the dialog.
+
+To set up the project in Android Studio follow the next steps:
+
+* Open Android Studio and select 'Import Project (Eclipse ADT, Gradle, etc)'. Browse through your file system to the folder 'android' where the project is located. Android Studio will then create the '.iml' files it needs. If you ever close the project but the files are still there, you just select 'Open Project…'. The file chooser will show an Android face as the folder icon, which you can select to reopen the project.
+* Android Studio will try to build the project directly after importing it. To build it manually, follow the menu path 'Build'/'Make Project', or just click the 'Play' button in the toolbar to build and run it in a mobile device or an emulator. The resulting APK file will be saved in the 'build/outputs/apk/' subdirectory in the project folder.
+* Setup Android Studio editor configurtation for the
+project: `Settings` → `Editor` → `Code Style` → `Scheme: Project` and `Enable EditorConfig support`
diff --git a/Assets/Take Note Section.jpg b/Assets/Take Note Section.jpg
new file mode 100644
index 0000000..e280b66
Binary files /dev/null and b/Assets/Take Note Section.jpg differ
diff --git a/Assets/Trainaing and Placement Section.png b/Assets/Trainaing and Placement Section.png
new file mode 100644
index 0000000..d1f2bc8
Binary files /dev/null and b/Assets/Trainaing and Placement Section.png differ
diff --git a/Assets/gcect app banner.jpg b/Assets/gcect app banner.jpg
new file mode 100644
index 0000000..a44fb76
Binary files /dev/null and b/Assets/gcect app banner.jpg differ
diff --git a/Assets/github_banner.jpeg b/Assets/github_banner.jpeg
new file mode 100644
index 0000000..85ba0ab
Binary files /dev/null and b/Assets/github_banner.jpeg differ
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..dac2993
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 ByteMonk-GCECT Tech Club
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 394d733..0c8b4d3 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,183 @@
+
+
+
+
# GCECT-APP
An native android application of Government College of Engineering and Ceramic Technology
+
+
+
+
+
+
+
+[](https://github.com/sitamadex11/CovidHelp/blob/develop/LICENSE)
+[](https://github.com/ellerbrock/open-source-badges/)
+[](http://makeapullrequest.com)
+
+
+
+## The Problems we are trying to resolve 😁:
+
+Our university website was not properly optimised and responsive for mobile devices which posed difficulties for students to navigate and to utilise all the features the website has to offer. Also some times students are missing important notices as they don't get any notification. Also to view a simple notice all students need to download the notice from the website. Our university website Ui also not so user friendly and informative for new comers also there has not any discussion or helping. Altogather we can achieve a lot of functionality using an user friendly mobile application. Therefore we, team GDSC-GCECT come with an idea of an user friendly android app named "GCECT APP".
+
+
+## The solution, we are working on 💡:
+
+This project proposes a university app that has all the features of the university website with some extra added features and a good user interface. As in each page of our website, all the information's are messy and not cleared therefore our first target is a good user interface that makes every detail attractive to all. On our college's website, for a less important notice, we need to download the pdfs therefore we made a pdf viewer section in our app where users can read the notice without downloading it. We also add functionality to download the notice if required. Also through an app students can get the update of important notices and also there should be a discussion forum in the app where students can discuss their doubts and teachers can share their notes and assignments directly through the app to all of the students. Students also can take short notes which can be saved offline. Also in our different college fests there we need different websites which are not maintained later on. So we can integrate all the necessary things regarding fests directly to the app therefore there will not be required a separate website for a separate fest or events. Not only that, many many more functionality could be added to the app which will make the app more useful to both students and teachers but this will not be possible on a website. Actually, it is an ongoing project, and we are trying to make it our college's official app.
+
+Some features that are included in the app are:
+
+
A good UI/UX to make every page more attractive and informative
+
recent announcements
+
general notice
+
download examination schedule
+
a note taking section
+
+
+## Functionality & Concepts used 👨💻 :
+
+### The App has a very simple, interactive, clean and attractive interface which helps the students to get all the informations of college like notice, faculty detail, syllabus, last year question paper etc. Following are few android concepts used to achieve the functionalities in app:
+- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development. Our app is totally written in kotlin.
+- [Different Layouts](https://developer.android.com/guide/topics/ui/declaring-layout) - In this app we have used difrenet layouts to make the app UI responsive. The used layouts are LinearLayout, RelativeLayout, ConstraintLayout, FrameLayout and CoordinatorLayout.
+- [Material Components for Android](https://github.com/material-components/material-components-android) - Modular and customizable Material Design UI components for Android. We used material components like MaterialCardView, MaterialButton etc to make the UI attractive and amke the development easy.
+- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more. Speacially used at the time of PDF fetching from url.
+- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.
+ - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes. Highly used shared viewmodel in the app.
+ - [Data Binding](https://developer.android.com/topic/libraries/data-binding?authuser=2) - The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically. Used two data binding in each fragments.
+ - [Navigation](https://developer.android.com/guide/navigation#:~:text=Navigation%20refers%20to%20the%20interactions,bars%20and%20the%20navigation%20drawer.) - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app. In our app we followed single app architecture using navigation and also implemented an unique nav nav drawer.
+ - [Room](https://developer.android.com/jetpack/androidx/releases/room) - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite. To store notes.
+ - [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. To check new notes added or not.
+- [Firebase](https://firebase.google.com/docs/android/setup) - Firebase is Google's mobile application development platform that helps you build, improve, and grow your app.
+ - [Storage](https://firebase.google.com/docs/storage/web/start#:~:text=Cloud%20Storage%20for%20Firebase%20lets,high%20availability%20and%20global%20redundancy.) - Cloud Storage for Firebase lets you upload and share user generated content, such as images and video, which allows you to build rich media content into your apps. Here we used store to add static data.
+- [Glide](https://github.com/bumptech/glide) - Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface. We have used it for image loading.
+- [BottomSheet](https://material.io/components/sheets-bottom/android) - Bottom sheets are surfaces containing supplementary content that are anchored to the bottom of the screen. To show the general notice list in home page.
+- [RecyclerView](https://developer.android.com/guide/topics/ui/layout/recyclerview?authuser=2) - RecyclerView makes it easy to efficiently display large sets of data. To show large lists.
+- [MVVM](https://developer.android.com/jetpack/guide) - MVVM architecture is a Model-View-ViewModel architecture that removes the tight coupling between each component. In the note taking section we used MVVM.
+- [ViewPager2](https://developer.android.com/training/animation/screen-slide-2) - ViewPager2 objects have built-in swipe gestures to transition through pages, and they display screen slide animations by default. Using ViewPager2 and tablayout we have used a slidable fragment.
+- [TabLayout](https://developer.android.com/reference/com/google/android/material/tabs/TabLayout) - TabLayout provides a horizontal layout to display tabs.Using ViewPager2 and tablayout we have used a slidable fragment.
+- [Android PdfViewer](https://github.com/barteksc/AndroidPdfViewer) - To view PDFs from url inside app.
+- **Some more 3rd party libraries used in this project :**
+ - [CircularImageView](https://github.com/lopspower/CircularImageView) - This is an Android project allowing to realize a circular ImageView in the simplest way possible. To make image view circular we have implented it in gate ranker list.
+ - [Android-Image-Slider](https://github.com/smarteist/Android-Image-Slider) - An amazing image slider for the Android. In home fragment and Nss fragment we have used Auto Image Slider.
+ - [PRDownloader](https://github.com/MindorksOpenSource/PRDownloader) - A file downloader library for Android with pause and resume support. We used to download PDF files.
+ - [Dexter](https://github.com/Karumi/Dexter) - Dexter is an Android library that simplifies the process of requesting permissions at runtime. We used to take External Storage Read and Write permission from the user.
+
+ ## Download 📥
+- Click [Here](https://drive.google.com/file/d/1Td3MIqAFfMjopJWA3EFNZmiQzIClD9DT/view?usp=sharing) to download the latest apk.
+
+## Requirements 🎯
+- Android 6.0 and Above
+- Min sdk version 23
+
+## Permissions 💻
+- Internet
+- Storage
+
+## Future Scope 📲:
+For the time being we are working with static datas of the website. After completiing all the tasks with static datas, our principal sir had promised that he would give us the access of the database of our college website. According with developer team, we have made a UI team and a Testing team to make the app production ready. Also we have planned to add realtime notification services, discussion pannel, class notes adding section and a library management system. And whenever it will be publication ready then we will upload it to the playstore and it will be our official college app.
+
+## Contributing Guideline ✍
+- Before start your contribution please go through our contribution guideline carefully. ([READ](https://github.com/ByteMonk-GCECT/GCECT-APP/blob/develop/Assets/Contributing.md))
+- You need to push your PR on [develop](https://github.com/ByteMonk-GCECT/GCECT-APP/tree/develop) branch only.
+- Join your whatsapp group for further discussion.[CLICK HERE](https://chat.whatsapp.com/JXYziNoD3lD9RWQwD3VyEe) TO JOIN.
+
+## 😎Maintainers
+
+
+
+
+## * App Splash-Screen and Navigation-Drawer:-
+
+
+
+
+## * Home Section:-
+
+
+
+
+
+## * Examination Section:-
+
+
+
+
+## * Trainaing and Placement Section:-
+
+
+
+
+## * Campus Life Section:-
+
+
+
+
+
+## * Take Note Section:-
+
+
+
+
+
+## License
+
+```
+MIT License
+
+Copyright (c) 2022 ByteMonk-GCECT Tech Club
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+### If you liked the project don't forget to star 🌟 and fork 🍽 the project.
+
+
+
+
+### Credits goes to these people:✨
+
+
+
+
diff --git a/Ui Ideas/UI.md b/Ui Ideas/UI.md
new file mode 100644
index 0000000..51a883e
--- /dev/null
+++ b/Ui Ideas/UI.md
@@ -0,0 +1,28 @@
+#### Library Management UI Screens
+
+||||
+|:---:|:---:|:---:|
+|**ADD BOOK**|**UPDATE BOOK**|**ISSUE BOOK**|
+
+|||
+|:---:|:---:|:---:|
+|**REISSUE BOOK**|**RETURN BOOK**|**SEARCH BOOK**|
+
+|||
+|:---:|:---:|:---:|
+|**SEARCH RESULTS**|**REMOVE BOOK**|**COLLECT FINE**|
+
+|||
+|:---:|:---:|:---:|
+|**FINE COLLECTION CONFIRMATION SCREEN**|**SEE ISSUED BOOKS PAGE**|**BOOK ADDED NOTIFICATION**|
+
+||
+|:---:|:---:|
+|**DEADLINE APPROACHING NOTIFICATION**|**FINE INCREASED NOTIFICATION**|
+
+### Library Mangement Home UI Screen
+|.png)||
+|:---:|:---:|
+|**Home Page**|**Prevew Page**|
+
+
diff --git a/app/build.gradle b/app/build.gradle
index e453a9d..38ebd8e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -40,25 +40,27 @@ android {
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
- implementation 'androidx.appcompat:appcompat:1.4.0'
- implementation 'com.google.android.material:material:1.4.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
+ implementation 'androidx.appcompat:appcompat:1.4.1'
+ implementation 'com.google.android.material:material:1.5.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
- testImplementation 'junit:junit:4.+'
+ implementation 'com.google.firebase:firebase-database-ktx:20.0.3'
+ implementation 'com.firebaseui:firebase-ui-database:2.3.0'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
//Retrofit
- implementation 'com.google.code.gson:gson:2.8.8'
+ implementation 'com.google.code.gson:gson:2.8.9'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
//Glide
implementation 'com.github.bumptech.glide:glide:4.12.0'
kapt 'com.github.bumptech.glide:compiler:4.12.0'
// navigation
- implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
- implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
+ implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1'
+ implementation 'androidx.navigation:navigation-ui-ktx:2.4.1'
// For circular image view
implementation 'com.mikhaellopez:circularimageview:4.3.0'
@@ -79,8 +81,8 @@ dependencies {
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
// Room components
- implementation "androidx.room:room-ktx:2.4.0"
- kapt "androidx.room:room-compiler:2.4.0"
+ implementation "androidx.room:room-ktx:2.4.1"
+ kapt "androidx.room:room-compiler:2.4.1"
//For file download
implementation 'com.mindorks.android:prdownloader:0.6.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4fd9ccb..692b773 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,18 +1,20 @@
-
+
+ android:exported="true" />
diff --git a/app/src/main/gcece_app_icon-playstore.png b/app/src/main/gcece_app_icon-playstore.png
new file mode 100644
index 0000000..3f7df12
Binary files /dev/null and b/app/src/main/gcece_app_icon-playstore.png differ
diff --git a/app/src/main/gcecet_app_icon-playstore.png b/app/src/main/gcecet_app_icon-playstore.png
new file mode 100644
index 0000000..3f7df12
Binary files /dev/null and b/app/src/main/gcecet_app_icon-playstore.png differ
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000..94c79e3
Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/CollaborationRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/CollaborationRecyclerAdapter.kt
new file mode 100644
index 0000000..42f73d1
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/CollaborationRecyclerAdapter.kt
@@ -0,0 +1,49 @@
+package com.gcect.gcectapp.adapters
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.model.CollaborationDetails
+
+
+
+class CollaborationRecyclerAdapter (
+ private val context: Context,
+ private val collaborationDetailList: List
+):
+ RecyclerView.Adapter() {
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int): CollaborationRecyclerViewHolder {
+ val view = LayoutInflater.from(parent.context)
+ .inflate(R.layout.collaboration_recyclerview_item, parent, false)
+
+ return CollaborationRecyclerViewHolder(view)
+ }
+
+ override fun onBindViewHolder(
+ holder: CollaborationRecyclerViewHolder,
+ position: Int
+ ) {
+ holder.txtcollaborationDetail.text=collaborationDetailList[position].collaborationtext
+
+
+ }
+
+ override fun getItemCount(): Int {
+ return collaborationDetailList.size
+ }
+
+ inner class CollaborationRecyclerViewHolder(itemView: View) :
+ RecyclerView.ViewHolder(itemView) {
+ val txtcollaborationDetail: TextView = itemView.findViewById(R.id.tv_collaboration_item)
+ }
+
+
+
+}
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/DownloadViewAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/DownloadViewAdapter.kt
index 5a08119..55e9a19 100644
--- a/app/src/main/java/com/gcect/gcectapp/adapters/DownloadViewAdapter.kt
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/DownloadViewAdapter.kt
@@ -44,8 +44,10 @@ class DownloadViewAdapter(
holder.txtTopic.text = list[position].title
holder.llView.setOnClickListener {
navController.navigate(R.id.action_examScheduleFragment_to_schedulePdfViewerFragment)
- viewModel!!.setListPosAndType(position,isEven)
- viewModel.setNavFragId(navFragId)
+ viewModel?.let {
+ it.setListPosAndType(position, isEven)
+ it.setNavFragId(navFragId)
+ }
}
holder.llDownload.setOnClickListener {
listener.onDownloadBtnPressed(list[position].pdfUrl)
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/FacultyAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/FacultyAdapter.kt
new file mode 100644
index 0000000..68b9de5
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/FacultyAdapter.kt
@@ -0,0 +1,38 @@
+package com.gcect.gcectapp.adapters
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.model.FacultyModel
+
+class FacultyAdapter(private val contxt: Context, private val facultyList: MutableList) : RecyclerView.Adapter() {
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+ val itemView = LayoutInflater.from(parent.context).inflate(R.layout.faculty_member_item_view,parent,false)
+ return ViewHolder(itemView)
+ }
+
+ override fun onBindViewHolder(holder: ViewHolder, position: Int) {
+ val faculty = facultyList[position]
+ holder.itemView.apply {
+ faculty.facultyImage?.let { holder.facultyImage.setImageResource(it) }
+ holder.facultyName.text = faculty.facultyName
+ holder.facultyRole.text = faculty.facultyRole
+ }
+ }
+
+ override fun getItemCount(): Int {
+ return facultyList.size
+ }
+
+ inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
+ val facultyImage : ImageView = itemView.findViewById(R.id.faculty_image)
+ val facultyName : TextView = itemView.findViewById(R.id.faculty_name)
+ val facultyRole : TextView = itemView.findViewById(R.id.faculty_role)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/NavBaseRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/NavBaseRecyclerAdapter.kt
index f38316a..4829c3c 100644
--- a/app/src/main/java/com/gcect/gcectapp/adapters/NavBaseRecyclerAdapter.kt
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/NavBaseRecyclerAdapter.kt
@@ -10,6 +10,7 @@ import android.widget.TextView
import androidx.core.view.GravityCompat
import androidx.drawerlayout.widget.DrawerLayout
import androidx.navigation.NavController
+import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.gcect.gcectapp.R
@@ -60,7 +61,7 @@ class NavBaseRecyclerAdapter(
navigate(R.id.homeFragment)
}
"Contact Us" -> {
- setWhiteHamburgerIcon()
+ setBlueHamburgerIcon()
navigate(R.id.contactUsFragment)
}
"Take Note" -> {
@@ -105,7 +106,7 @@ class NavBaseRecyclerAdapter(
*/
private fun navigate(clickedId: Int) {
val id = navController.currentDestination?.id
- navController.popBackStack(id!!, true)
+ id?.let { navController.popBackStack(it, true) }
navController.navigate(clickedId)
}
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/NavSubRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/NavSubRecyclerAdapter.kt
index 5f46618..e4ab04d 100644
--- a/app/src/main/java/com/gcect/gcectapp/adapters/NavSubRecyclerAdapter.kt
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/NavSubRecyclerAdapter.kt
@@ -13,6 +13,7 @@ import androidx.navigation.NavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.gcect.gcectapp.R
+import com.gcect.gcectapp.R.id.visionMissionViewFragment
import com.gcect.gcectapp.model.NavSubItem
import com.gcect.gcectapp.viewmodels.MainActivityViewModel
import com.gcect.gcectapp.viewmodels.PdfViewerViewModel
@@ -20,7 +21,7 @@ import com.gcect.gcectapp.viewmodels.PdfViewerViewModel
class NavSubRecyclerAdapter(
private val context: Context,
private val navController: NavController,
- private val imgHamburger:ImageView,
+ private val imgHamburger: ImageView,
private val drawerLayout: DrawerLayout,
private val mainViewModel: MainActivityViewModel,
private val pdfLoaderViewModel: PdfViewerViewModel
@@ -57,11 +58,23 @@ class NavSubRecyclerAdapter(
*/
if (list[position]!!.navSubSubItemList[0] == null) {
when (list[position]!!.title) {
+ "Vision & Mission" -> {
+ setWhiteHamburgerIcon()
+ navigate(visionMissionViewFragment)
+ }
+ "The Institute" -> {
+ setWhiteHamburgerIcon()
+ navigate(R.id.theInstituteViewFragment)
+ }
+ "History" -> {
+ setWhiteHamburgerIcon()
+ navigate(R.id.historyViewFragment)
+ }
"Research & Development" -> {
setBlueHamburgerIcon()
navigate(R.id.researchDevelopmentFragment)
}
- "Scientific Voyage" ->{
+ "Scientific Voyage" -> {
setBlueHamburgerIcon()
navigate(R.id.scientificVoyageFragment)
}
@@ -89,6 +102,16 @@ class NavSubRecyclerAdapter(
setBlueHamburgerIcon()
navigate(R.id.placementOverViewFragment)
}
+
+ "Consultancy" -> {
+ setBlueHamburgerIcon()
+ navigate(R.id.consultancy_Fragment)
+ }
+
+ "Collaboration" -> {
+ setBlueHamburgerIcon()
+ navigate(R.id.collaboration_Fragment)
+ }
}
}
@@ -115,7 +138,13 @@ class NavSubRecyclerAdapter(
// Setting the layout manager
recyclerView.layoutManager = LinearLayoutManager(context)
// This will pass the ArrayList to our Adapter
- val adapter = NavSubSubRecyclerAdapter(navController,imgHamburger, drawerLayout,mainViewModel,pdfLoaderViewModel)
+ val adapter = NavSubSubRecyclerAdapter(
+ navController,
+ imgHamburger,
+ drawerLayout,
+ mainViewModel,
+ pdfLoaderViewModel
+ )
// Setting the Adapter with the recyclerview
adapter.updateList(list[position]!!.navSubSubItemList)
recyclerView.adapter = adapter
@@ -138,7 +167,7 @@ class NavSubRecyclerAdapter(
/**
* For setting the white hamburger icon and closing the drawer
*/
- private fun setWhiteHamburgerIcon(){
+ private fun setWhiteHamburgerIcon() {
imgHamburger.setImageResource(R.drawable.hamburger_icon_white)
drawerLayout.closeDrawer(GravityCompat.START)
}
@@ -146,7 +175,7 @@ class NavSubRecyclerAdapter(
/**
* For setting the blue hamburger icon and closing the drawer
*/
- private fun setBlueHamburgerIcon(){
+ private fun setBlueHamburgerIcon() {
imgHamburger.setImageResource(R.drawable.hamburger_icon_blue)
drawerLayout.closeDrawer(GravityCompat.START)
}
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/NavSubSubRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/NavSubSubRecyclerAdapter.kt
index 041e36a..34b70c3 100644
--- a/app/src/main/java/com/gcect/gcectapp/adapters/NavSubSubRecyclerAdapter.kt
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/NavSubSubRecyclerAdapter.kt
@@ -47,6 +47,14 @@ class NavSubSubRecyclerAdapter(
setBlueHamburgerIcon()
navigate(R.id.departmentCTFragment)
}
+ "Department of Computer Science & Engg." -> {
+ setBlueHamburgerIcon()
+ navigate(R.id.departmentCSFragment)
+ }
+ "Department of Information Technology" -> {
+ setBlueHamburgerIcon()
+ navigate(R.id.departmentITFragment)
+ }
"2021-2022" -> {
setBlueHamburgerIcon()
mainViewModel.setExamScheduleYear(22)
@@ -94,6 +102,10 @@ class NavSubSubRecyclerAdapter(
}
navigate(R.id.pdfViewerFragment)
}
+ "Administrative & Supporting Staffs" -> {
+ setWhiteHamburgerIcon()
+ navigate(R.id.administrationFragment)
+ }
}
}
}
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/NoteRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/NoteRecyclerAdapter.kt
index 68e6012..534b502 100644
--- a/app/src/main/java/com/gcect/gcectapp/adapters/NoteRecyclerAdapter.kt
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/NoteRecyclerAdapter.kt
@@ -29,7 +29,7 @@ class NoteRecyclerAdapter(private val listener: NoteItemClickListener):RecyclerV
holder.txtNoteTitle.text = list[position].title
holder.txtNoteBody.text = list[position].note
holder.imgEdit.setOnClickListener {
- listener.onEditBtnPressed()
+ listener.onEditBtnPressed(list[position])
}
holder.imgDelete.setOnClickListener {
listener.onDeleteBtnPressed(list[position].id)
@@ -49,5 +49,5 @@ class NoteRecyclerAdapter(private val listener: NoteItemClickListener):RecyclerV
interface NoteItemClickListener{
fun onDeleteBtnPressed(uid:Long)
- fun onEditBtnPressed()
+ fun onEditBtnPressed(note:NoteEntity)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/PatentRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/PatentRecyclerAdapter.kt
new file mode 100644
index 0000000..3c63ed7
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/PatentRecyclerAdapter.kt
@@ -0,0 +1,49 @@
+package com.gcect.gcectapp.adapters
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.gcect.gcectapp.R
+
+import com.gcect.gcectapp.model.PatentDetails
+
+
+class PatentRecyclerAdapter (
+ private val context: Context,
+ private val patentDetailList: List
+): RecyclerView.Adapter() {
+
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int): PatentRecyclerViewHolder {
+
+ val view = LayoutInflater.from(parent.context)
+ .inflate(R.layout.patents_recyclerview_item, parent, false)
+
+ return PatentRecyclerViewHolder(view)
+ }
+
+ override fun onBindViewHolder(
+ holder: PatentRecyclerViewHolder,
+ position: Int) {
+ holder.txtPatentDetail.text=patentDetailList[position].patenttext
+
+ }
+
+ override fun getItemCount(): Int {
+ return patentDetailList.size
+ }
+
+
+ inner class PatentRecyclerViewHolder(itemView: View) :
+ RecyclerView.ViewHolder(itemView) {
+ val txtPatentDetail: TextView = itemView.findViewById(R.id.tv_patent_item)
+ }
+
+
+
+}
diff --git a/app/src/main/java/com/gcect/gcectapp/adapters/ResearchDevelopmentRecyclerAdapter.kt b/app/src/main/java/com/gcect/gcectapp/adapters/ResearchDevelopmentRecyclerAdapter.kt
index b19b4f8..f11ee59 100644
--- a/app/src/main/java/com/gcect/gcectapp/adapters/ResearchDevelopmentRecyclerAdapter.kt
+++ b/app/src/main/java/com/gcect/gcectapp/adapters/ResearchDevelopmentRecyclerAdapter.kt
@@ -41,11 +41,11 @@ class ResearchDevelopmentRecyclerAdapter(
holder.btnViewStatus.setOnClickListener {
if (isClicked) {
holder.subRVProjectDetail.visibility = View.VISIBLE
- holder.btnViewStatus.text = "VIEW LESS"
+ holder.btnViewStatus.text = context.getString(R.string.view_less)
isClicked = false
} else {
holder.subRVProjectDetail.visibility = View.GONE
- holder.btnViewStatus.text = "VIEW MORE"
+ holder.btnViewStatus.text = context.getString(R.string.view_more)
isClicked = true
}
}
diff --git a/app/src/main/java/com/gcect/gcectapp/model/CollaborationPageProjectDetail.kt b/app/src/main/java/com/gcect/gcectapp/model/CollaborationPageProjectDetail.kt
new file mode 100644
index 0000000..d7b875b
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/model/CollaborationPageProjectDetail.kt
@@ -0,0 +1,9 @@
+package com.gcect.gcectapp.model
+
+data class CollaborationDetails(
+ val collaborationtext:String
+)
+
+data class PatentDetails(
+ val patenttext:String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/model/FacultyModel.kt b/app/src/main/java/com/gcect/gcectapp/model/FacultyModel.kt
new file mode 100644
index 0000000..da02441
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/model/FacultyModel.kt
@@ -0,0 +1,7 @@
+package com.gcect.gcectapp.model
+
+data class FacultyModel (
+ val facultyName : String? = "",
+ val facultyRole : String? = "",
+ val facultyImage : Int? = 0
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/activity/MainActivity.kt b/app/src/main/java/com/gcect/gcectapp/ui/activity/MainActivity.kt
index d8f3b00..ccc363b 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/activity/MainActivity.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/activity/MainActivity.kt
@@ -70,7 +70,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
}
override fun onClick(v: View?) {
- when (v!!.id) {
+ when (v?.id) {
R.id.imgHamburger -> {
binding.drawerLayout.openDrawer(GravityCompat.START)
}
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/activity/SplashScreenActivity.kt b/app/src/main/java/com/gcect/gcectapp/ui/activity/SplashScreenActivity.kt
index 7382cc9..db46ad4 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/activity/SplashScreenActivity.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/activity/SplashScreenActivity.kt
@@ -4,6 +4,7 @@ import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
+import android.os.Looper
import android.view.WindowManager
import com.gcect.gcectapp.R
@@ -11,13 +12,13 @@ class SplashScreenActivity : AppCompatActivity() {
private val SPLASH_SCREEN_TIME_OUT = 2000
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- window.setFlags(
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN
- )
+// window.setFlags(
+// WindowManager.LayoutParams.FLAG_FULLSCREEN,
+// WindowManager.LayoutParams.FLAG_FULLSCREEN
+// )
setContentView(R.layout.activity_splash_screen)
- Handler().postDelayed(Runnable {
+ Handler(Looper.getMainLooper()).postDelayed(Runnable {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/AdministrationFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/AdministrationFragment.kt
new file mode 100644
index 0000000..b59139a
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/AdministrationFragment.kt
@@ -0,0 +1,23 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.databinding.AdministrationUiBinding
+
+class AdministrationFragment: Fragment() {
+ lateinit var binding:AdministrationUiBinding
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ binding = DataBindingUtil.inflate(inflater,
+ R.layout.administration_ui, container, false)
+ return binding.root
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/CSIFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/CSIFragment.kt
index 0f2eccc..527f155 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/CSIFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/CSIFragment.kt
@@ -33,7 +33,7 @@ class CSIFragment : Fragment() {
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- binding.txtPageTitle.text = "CSI Student Chapter"
+ binding.txtPageTitle.text = getString(R.string.csi_student_chapter)
binding.pdfLoadingProgress.visibility = View.VISIBLE
CoroutineScope(Dispatchers.Main).launch {
@@ -86,7 +86,7 @@ class CSIFragment : Fragment() {
.onPageError { page, _ ->
Toast.makeText(
context,
- "Error at page: $page", Toast.LENGTH_LONG
+ getString(R.string.error_at_page_number,page), Toast.LENGTH_LONG
).show()
}
.load()
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/Collaboration_Fragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/Collaboration_Fragment.kt
new file mode 100644
index 0000000..de3fbbb
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/Collaboration_Fragment.kt
@@ -0,0 +1,58 @@
+package com.gcect.gcectapp.ui.fragments
+
+import com.gcect.gcectapp.viewmodels.CollaborationViewmodel
+import com.gcect.gcectapp.viewmodels.PatentViewmodel
+import com.gcect.gcectapp.adapters.CollaborationRecyclerAdapter
+import com.gcect.gcectapp.adapters.PatentRecyclerAdapter
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.viewModels
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.databinding.FragmentCollaborationBinding
+
+
+class Collaboration_Fragment : Fragment() {
+
+ lateinit var binding:FragmentCollaborationBinding
+ private val collaborationViewmodel: CollaborationViewmodel by viewModels()
+ private val patentViewmodel: PatentViewmodel by viewModels()
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ binding = DataBindingUtil.inflate(inflater,R.layout.fragment_collaboration_, container, false)
+ return binding.root
+ }
+
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ CollaborationrecyclerViewSetup(binding.rvCollaboration)
+ PatentrecyclerViewSetup(binding.rvPatents)
+ }
+
+
+ private fun CollaborationrecyclerViewSetup(recyclerView: RecyclerView){
+ // Setting the layout manager
+ recyclerView.layoutManager = LinearLayoutManager(context)
+ // This will pass the ArrayList to our Adapter
+ val adapter = CollaborationRecyclerAdapter(requireContext(),collaborationViewmodel.listOfCollaborationDetail)
+ recyclerView.adapter = adapter
+ }
+
+ private fun PatentrecyclerViewSetup(recyclerView: RecyclerView){
+ // Setting the layout manager
+ recyclerView.layoutManager = LinearLayoutManager(context)
+ // This will pass the ArrayList to our Adapter
+ val adapter = PatentRecyclerAdapter(requireContext(),patentViewmodel.listOfPatentDetail)
+ recyclerView.adapter = adapter
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/Consultancy_Fragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/Consultancy_Fragment.kt
new file mode 100644
index 0000000..81e059f
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/Consultancy_Fragment.kt
@@ -0,0 +1,38 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.gcect.gcectapp.R
+
+import com.gcect.gcectapp.databinding.FragmentConsultancyBinding
+
+
+
+class Consultancy_Fragment : Fragment() {
+ lateinit var binding: FragmentConsultancyBinding
+
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ binding = DataBindingUtil.inflate(inflater,R.layout.fragment_consultancy_, container, false)
+ return binding.root
+ }
+
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+
+ }
+
+
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/ContactUsFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/ContactUsFragment.kt
index 10ac45e..ef410de 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/ContactUsFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/ContactUsFragment.kt
@@ -19,5 +19,6 @@ class ContactUsFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCSFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCSFragment.kt
new file mode 100644
index 0000000..3f874cf
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCSFragment.kt
@@ -0,0 +1,79 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.core.view.isGone
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.adapters.FacultyAdapter
+import com.gcect.gcectapp.databinding.FragmentDepartmentCTBinding
+import com.gcect.gcectapp.model.FacultyModel
+
+class DepartmentCSFragment : Fragment() {
+
+ private lateinit var facultyMembersRecyclerView: RecyclerView
+ private lateinit var departmentH1: TextView
+ private lateinit var departmentH2: TextView
+ private lateinit var paraFirst: TextView
+ private lateinit var headFirst: TextView
+ private lateinit var paraSecond: TextView
+ private lateinit var headSecond: TextView
+ private lateinit var paraThree: TextView
+ private lateinit var facultyList: ArrayList
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_department_c_t, container, false)
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ facultyMembersRecyclerView = view.findViewById(R.id.faculty_members_rv)
+ departmentH1 = view.findViewById(R.id.departmentH1)
+ departmentH2 = view.findViewById(R.id.departmentH2)
+ paraFirst = view.findViewById(R.id.p1)
+ headFirst = view.findViewById(R.id.h1)
+ paraSecond = view.findViewById(R.id.p2)
+ headSecond = view.findViewById(R.id.h2)
+ paraThree = view.findViewById(R.id.p3)
+
+ departmentH1.text = "COMPUTER SCIENCE"
+ departmentH2.text = "& ENGG."
+ paraFirst.visibility = View.GONE
+ headFirst.text = "B.TECH"
+ paraSecond.text = getString(R.string.cs_p1)
+ headSecond.visibility = View.GONE
+ paraThree.visibility = View.GONE
+
+
+ facultyMembersRecyclerView.layoutManager =
+ GridLayoutManager(requireContext(), 2)
+ facultyList = ArrayList()
+ facultyList = setFacultysData()
+ facultyMembersRecyclerView.adapter = FacultyAdapter(
+ requireContext(),
+ facultyList as MutableList
+ )
+ }
+
+ private fun setFacultysData() : ArrayList{
+ var arrayList:ArrayList = ArrayList()
+
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+
+ return arrayList
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCTFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCTFragment.kt
index 577cf1a..7e60ad2 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCTFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentCTFragment.kt
@@ -5,19 +5,53 @@ import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import com.gcect.gcectapp.R
+import com.gcect.gcectapp.adapters.FacultyAdapter
+import com.gcect.gcectapp.databinding.FragmentDepartmentCTBinding
+import com.gcect.gcectapp.model.FacultyModel
class DepartmentCTFragment : Fragment() {
+ private lateinit var binding: FragmentDepartmentCTBinding
+ private lateinit var facultyMembersRecyclerView: RecyclerView
+ private lateinit var facultyList: ArrayList
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_department_c_t, container, false)
+ binding = DataBindingUtil.inflate(inflater,R.layout.fragment_department_c_t, container, false)
+ return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ binding.ctFragment = this
+
+ facultyMembersRecyclerView = binding.facultyMembersRv
+ facultyMembersRecyclerView.layoutManager =
+ GridLayoutManager(requireContext(), 2)
+ facultyList = ArrayList()
+ facultyList = setFacultysData()
+ facultyMembersRecyclerView.adapter = FacultyAdapter(
+ requireContext(),
+ facultyList as MutableList
+ )
}
+
+ private fun setFacultysData() : ArrayList{
+ var arrayList:ArrayList = ArrayList()
+
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+
+ return arrayList
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentITFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentITFragment.kt
new file mode 100644
index 0000000..bedf0b3
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/DepartmentITFragment.kt
@@ -0,0 +1,78 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.core.view.isGone
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.adapters.FacultyAdapter
+import com.gcect.gcectapp.databinding.FragmentDepartmentCTBinding
+import com.gcect.gcectapp.model.FacultyModel
+
+class DepartmentITFragment : Fragment() {
+
+ private lateinit var facultyMembersRecyclerView: RecyclerView
+ private lateinit var departmentH1: TextView
+ private lateinit var departmentH2: TextView
+ private lateinit var paraFirst: TextView
+ private lateinit var headFirst: TextView
+ private lateinit var paraSecond: TextView
+ private lateinit var headSecond: TextView
+ private lateinit var paraThree: TextView
+ private lateinit var facultyList: ArrayList
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_department_c_t, container, false)
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ facultyMembersRecyclerView = view.findViewById(R.id.faculty_members_rv)
+ departmentH1 = view.findViewById(R.id.departmentH1)
+ departmentH2 = view.findViewById(R.id.departmentH2)
+ paraFirst = view.findViewById(R.id.p1)
+ headFirst = view.findViewById(R.id.h1)
+ paraSecond = view.findViewById(R.id.p2)
+ headSecond = view.findViewById(R.id.h2)
+ paraThree = view.findViewById(R.id.p3)
+
+ departmentH1.text = "INFORMATION \n TECHNOLOGY"
+ departmentH2.visibility = View.GONE
+ paraFirst.visibility = View.GONE
+ headFirst.text = "B.TECH"
+ paraSecond.text = getString(R.string.it_p1)
+ headSecond.text = "M.Tech"
+ paraThree.text = getString(R.string.it_p2)
+
+ facultyMembersRecyclerView.layoutManager =
+ GridLayoutManager(requireContext(), 2)
+ facultyList = ArrayList()
+ facultyList = setFacultysData()
+ facultyMembersRecyclerView.adapter = FacultyAdapter(
+ requireContext(),
+ facultyList as MutableList
+ )
+ }
+
+ private fun setFacultysData() : ArrayList{
+ var arrayList:ArrayList = ArrayList()
+
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+ arrayList.add(FacultyModel("Dr. Kalpana Saha(Roy)", "Asst. Professor \\n & Head of the \\nDepartment", R.drawable.faculty_round_image_test))
+
+ return arrayList
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/EvenSemScheduleFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/EvenSemScheduleFragment.kt
index b81813b..9171e6b 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/EvenSemScheduleFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/EvenSemScheduleFragment.kt
@@ -67,7 +67,7 @@ class EvenSemScheduleFragment(private val navController: NavController) : Fragme
else -> null
}
- if(list!!.isEmpty()){
+ if(list.isNullOrEmpty()){
binding.txtDataFoundIndicator.visibility = View.VISIBLE
binding.rvExamScheduleList.visibility = View.GONE
} else {
@@ -99,7 +99,7 @@ class EvenSemScheduleFragment(private val navController: NavController) : Fragme
if(report.areAllPermissionsGranted()){
downloadPdf(url)
} else {
- Toast.makeText(requireContext(),"Please allow all permission to Download",Toast.LENGTH_SHORT).show()
+ Toast.makeText(requireContext(),getString(R.string.allow_download_permission_message),Toast.LENGTH_SHORT).show()
}
}
@@ -113,7 +113,7 @@ class EvenSemScheduleFragment(private val navController: NavController) : Fragme
private fun downloadPdf(url: String) {
val pd = ProgressDialog(requireContext())
- pd.setMessage("DownLoading...")
+ pd.setMessage(getString(R.string.downloading))
pd.setCancelable(false)
pd.show()
val file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
@@ -124,12 +124,12 @@ class EvenSemScheduleFragment(private val navController: NavController) : Fragme
.setOnCancelListener { }
.setOnProgressListener {
val percentage = it.currentBytes*100/it.totalBytes
- pd.setMessage("DownLoad : $percentage")
+ pd.setMessage(getString(R.string.download_percentage_completed,percentage))
}
.start(object : OnDownloadListener {
override fun onDownloadComplete() {
pd.cancel()
- Toast.makeText(requireContext(),"Download Complete",Toast.LENGTH_SHORT).show()
+ Toast.makeText(requireContext(),getText(R.string.download_complete),Toast.LENGTH_SHORT).show()
}
override fun onError(error: com.downloader.Error?) {
pd.cancel()
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/ExamScheduleFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/ExamScheduleFragment.kt
index 663e2aa..848e589 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/ExamScheduleFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/ExamScheduleFragment.kt
@@ -33,7 +33,7 @@ class ExamScheduleFragment : Fragment() {
super.onViewCreated(view, savedInstanceState)
val viewPager = binding.viewPager
val tabLayout = binding.tabLayout
- binding.txtPageTitle.text = "Exam Schedules"
+ binding.txtPageTitle.text = getString(R.string.exam_schedule)
val adapter = ExaminationScheduleViewPagerAdapter(parentFragmentManager, lifecycle,findNavController())
viewPager.adapter = adapter
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/HistoryViewFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/HistoryViewFragment.kt
new file mode 100644
index 0000000..1f0a97a
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/HistoryViewFragment.kt
@@ -0,0 +1,75 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.graphics.drawable.Drawable
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ProgressBar
+import android.widget.Toast
+import androidx.activity.OnBackPressedCallback
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.DataSource
+import com.bumptech.glide.load.engine.GlideException
+import com.bumptech.glide.request.RequestListener
+import com.bumptech.glide.request.target.Target
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.databinding.HistoryViewFragmentBinding
+
+class HistoryViewFragment: Fragment() {
+ private lateinit var binding: com.gcect.gcectapp.databinding.HistoryViewFragmentBinding
+ private val historyImgUrl = "https://firebasestorage.googleapis.com/v0/b/gcect-app.appspot.com/o/About%20Us%2FHistory%2Fgcect_history_img.jpg?alt=media&token=e5e67b13-5254-4fa4-aebd-9e7b6d0c1f57"
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+
+ binding = DataBindingUtil.inflate(inflater, R.layout.history_view_fragment, container, false)
+ return binding.root
+
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ binding.pageDesc.text = getString(R.string.history_page)
+ binding.txtPageTitle.text = "HISTORY"
+ val progressbar: ProgressBar = binding.imgProgressBar
+ val historyImg = binding.gcectHistoryImage
+ Glide.with(requireContext()).load(historyImgUrl)
+ .listener(object : RequestListener{
+ override fun onLoadFailed(e: GlideException?, model: Any?, target: Target?, isFirstResource: Boolean): Boolean {
+ progressbar.visibility = View.GONE
+ Toast.makeText(requireContext(), "Failed to load image...", Toast.LENGTH_SHORT).show()
+ return false
+ }
+ override fun onResourceReady(resource: Drawable?, model: Any?, target: Target?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
+ progressbar.visibility = View.GONE
+ return false
+ }
+
+ })
+ .into(historyImg)
+ onBackPressed()
+ }
+ private fun onBackPressed() {
+ requireActivity()
+ .onBackPressedDispatcher
+ .addCallback(viewLifecycleOwner, object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ // Do custom work here
+ navigate(
+ R.id.homeFragment
+ )
+ }
+ }
+ )
+ }
+ /**
+ * For handling navigation
+ */
+ private fun navigate(navFragId: Int) {
+ val id = findNavController().currentDestination?.id
+ findNavController().popBackStack(id!!, true)
+ findNavController().navigate(navFragId)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/HomeFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/HomeFragment.kt
index fc33edd..20da0ca 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/HomeFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/HomeFragment.kt
@@ -1,9 +1,14 @@
package com.gcect.gcectapp.ui.fragments
import android.Manifest
+import android.app.NotificationChannel
+import android.app.NotificationManager
+import android.app.PendingIntent
import android.app.ProgressDialog
+import android.content.Context
import android.content.Intent
import android.net.Uri
+import android.os.Build
import android.os.Bundle
import android.os.Environment
import android.util.Log
@@ -15,6 +20,7 @@ import android.widget.LinearLayout
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
+import androidx.core.app.NotificationCompat
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
@@ -25,13 +31,14 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.downloader.OnDownloadListener
import com.downloader.PRDownloader
-import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.gcect.gcectapp.R
import com.gcect.gcectapp.adapters.*
import com.gcect.gcectapp.databinding.FragmentHomeBinding
+import com.gcect.gcectapp.ui.activity.MainActivity
import com.gcect.gcectapp.viewmodels.HomeFragmentViewModel
import com.gcect.gcectapp.viewmodels.PdfViewerViewModel
import com.gcect.gcectapp.viewmodels.PdfViewerViewModelFactory
+import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.button.MaterialButton
import com.karumi.dexter.Dexter
import com.karumi.dexter.MultiplePermissionsReport
@@ -47,7 +54,6 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
private lateinit var pdfLoaderViewModel: PdfViewerViewModel
//#1 Defining a BottomSheetBehavior instance
private lateinit var bottomSheetBehavior: BottomSheetBehavior
-
/**
* 1 -> for upper blue notice
* 2 -> for red notice
@@ -87,7 +93,7 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
* for auto image sliding
*/
val sliderView = binding.imageSlider
- val sliderAdapter = HomeAutoSliderAdapter(requireActivity(),viewModel.autoSliderImgList)
+ val sliderAdapter = HomeAutoSliderAdapter(requireActivity(), viewModel.autoSliderImgList)
sliderView.setSliderAdapter(sliderAdapter)
sliderView.setIndicatorAnimation(IndicatorAnimationType.WORM)
sliderView.setSliderTransformAnimation(SliderAnimations.DEPTHTRANSFORMATION)
@@ -96,7 +102,7 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
/**
* for notice list showing
*/
- val noticeAdapter = HomeNoticeRecyclerAdapter(viewModel.noticeItemList,this)
+ val noticeAdapter = HomeNoticeRecyclerAdapter(viewModel.noticeItemList, this)
binding.rvNotice.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
binding.rvNotice.adapter = noticeAdapter
@@ -104,7 +110,8 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
/**
* for gate ranker list showing
*/
- val gateRankerAdapter = HomeGateRankerRecyclerAdapter(requireContext(),viewModel.gateRankerList)
+ val gateRankerAdapter =
+ HomeGateRankerRecyclerAdapter(requireContext(), viewModel.gateRankerList)
binding.rvGateRanker.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
binding.rvGateRanker.adapter = gateRankerAdapter
@@ -112,7 +119,8 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
/**
* for general notice list showing
*/
- val generalNoticeAdapter = HomeBottomSheetRecyclerAdapter(viewModel.bottomSheetItemList,this)
+ val generalNoticeAdapter =
+ HomeBottomSheetRecyclerAdapter(viewModel.bottomSheetItemList, this)
val rvGeneralNotice =
binding.layoutBottomSheet.rootView.findViewById(R.id.rvGeneralNotice)
rvGeneralNotice.layoutManager = LinearLayoutManager(requireContext())
@@ -122,10 +130,12 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
* for red notice list showing
*/
- val redNoticeAdapter = RedColouredHomeNoticeRecyclerAdapter(viewModel.redNoticeItemList,this)
+ val redNoticeAdapter =
+ RedColouredHomeNoticeRecyclerAdapter(viewModel.redNoticeItemList, this)
binding.rvRedNotice.layoutManager =
- GridLayoutManager(requireContext(),2)
+ GridLayoutManager(requireContext(), 2)
binding.rvRedNotice.adapter = redNoticeAdapter
+
}
fun onGeneralNoticeClicked() {
@@ -191,7 +201,7 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
if(report.areAllPermissionsGranted()){
downloadPdf(url)
} else {
- Toast.makeText(requireContext(),"Please allow all permission to Download",
+ Toast.makeText(requireContext(),getString(R.string.allow_download_permission_message),
Toast.LENGTH_SHORT).show()
}
}
@@ -206,7 +216,7 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
private fun downloadPdf(url: String) {
val pd = ProgressDialog(requireContext())
- pd.setMessage("DownLoading...")
+ pd.setMessage(getString(R.string.downloading))
pd.setCancelable(false)
pd.show()
val file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
@@ -217,17 +227,63 @@ class HomeFragment : Fragment(), OnHomeNoticeItemClickListener, OnBottomSheetIte
.setOnCancelListener { }
.setOnProgressListener {
val percentage = it.currentBytes*100/it.totalBytes
- pd.setMessage("DownLoad : $percentage")
+ pd.setMessage(getString(R.string.download_percentage_completed,percentage))
+ showNotification(percentage)
}
.start(object : OnDownloadListener {
override fun onDownloadComplete() {
pd.cancel()
- Toast.makeText(requireContext(),"Download Complete", Toast.LENGTH_SHORT).show()
+ Toast.makeText(requireContext(),getString(R.string.download_complete), Toast.LENGTH_SHORT).show()
}
override fun onError(error: com.downloader.Error?) {
pd.cancel()
}
})
+
+ }
+
+ fun createNotificationChannel() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ val channelId = getString(R.string.notification_channel_id)
+ val mChannel = NotificationChannel(
+ channelId,
+ getString(R.string.notification_channel_name),
+ NotificationManager.IMPORTANCE_DEFAULT
+ )
+ mChannel.description = getString(R.string.notification_channel_desc)
+
+ val notificationManager =
+ requireContext().getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
+ notificationManager.createNotificationChannel(mChannel)
+ }
+ }
+
+ fun showNotification(progress: Long){
+ createNotificationChannel()
+ val channelId = getString(R.string.notification_channel_id)
+ val intent = Intent(context, MainActivity::class.java)
+ val pendingIntent = PendingIntent.getActivity(this.context, 0, intent, 0);
+ val builder = NotificationCompat.Builder(
+ requireContext(),
+ channelId
+ ) // Create notification with channel Id
+ .setSmallIcon(R.drawable.about_us_icon)
+ .setContentTitle(getString(R.string.NotificationTitle))
+ .setContentText(getString(R.string.NotificationContent))
+ .setPriority(NotificationCompat.PRIORITY_MAX)
+ builder.setContentIntent(pendingIntent).setAutoCancel(true)
+
+ val mNotificationManager = requireContext().getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
+
+ if(progress.toInt()!=100) {
+ builder.setProgress(100, progress.toInt(), false)
+ mNotificationManager.notify(123, builder.build())
+ } else {
+ builder.setProgress(0, 0, false)
+ builder.setContentText("Download Complete")
+ mNotificationManager.notify(123, builder.build())
+ }
+
}
override fun onBottomSheetItemClick(pos: Int, title:String) {
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteAddFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteAddFragment.kt
index ded0e71..0b54324 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteAddFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteAddFragment.kt
@@ -28,23 +28,32 @@ class NoteAddFragment : Fragment() {
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
+
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_note_add, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
-
+ noteViewModel.editNote?.let {
+ binding.txtNoteEnteredTitle.setText(it.title)
+ binding.txtNoteEnteredBody.setText(it.note)
+ binding.btnSaveTask.text = "UPDATE NOTE"
+ }
binding.btnSaveTask.setOnClickListener {
if (binding.txtNoteEnteredTitle.text.isNullOrEmpty())
- binding.txtNoteEnteredTitle.error = "OOPs!! Note Title can't be empty"
+ binding.txtNoteEnteredTitle.error = getString(R.string.title_empty_error_message)
else if (binding.txtNoteEnteredBody.text.isNullOrEmpty())
- binding.txtNoteEnteredTitle.error = "OOPs!! Note Body can't be empty"
+ binding.txtNoteEnteredTitle.error = getString(R.string.title_empty_error_message)
else {
val title = binding.txtNoteEnteredTitle.text
val noteBody = binding.txtNoteEnteredBody.text
- val note = NoteEntity(title.toString(), noteBody.toString())
- noteViewModel.insertNote(note)
+ if(noteViewModel.editNote==null){
+ val note = NoteEntity(title.toString(), noteBody.toString())
+ noteViewModel.insertNote(note)
+ }else{
+ noteViewModel.updateNote(noteViewModel.editNote!!.id,title.toString(),noteBody.toString())
+ }
navigate(
R.id.noteShowFragment
)
@@ -73,7 +82,7 @@ class NoteAddFragment : Fragment() {
*/
private fun navigate(navFragId: Int) {
val id = findNavController().currentDestination?.id
- findNavController().popBackStack(id!!, true)
+ id?.let { findNavController().popBackStack(it, true) }
findNavController().navigate(navFragId)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteShowFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteShowFragment.kt
index 15a45b3..6c1fe13 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteShowFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/NoteShowFragment.kt
@@ -15,6 +15,7 @@ import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.gcect.gcectapp.R
import com.gcect.gcectapp.adapters.NoteItemClickListener
import com.gcect.gcectapp.adapters.NoteRecyclerAdapter
+import com.gcect.gcectapp.model.NoteEntity
import com.gcect.gcectapp.viewmodels.NoteViewModel
import com.google.android.material.floatingactionbutton.FloatingActionButton
@@ -73,8 +74,9 @@ class NoteShowFragment : Fragment(), NoteItemClickListener {
noteViewModel.deleteNote(uid)
}
- override fun onEditBtnPressed() {
-
+ override fun onEditBtnPressed(note:NoteEntity) {
+ noteViewModel.setEditNote(note)
+ navigate(R.id.noteAddFragment)
}
private fun onBackPressed() {
@@ -96,7 +98,7 @@ class NoteShowFragment : Fragment(), NoteItemClickListener {
*/
private fun navigate(navFragId: Int) {
val id = findNavController().currentDestination?.id
- findNavController().popBackStack(id!!, true)
+ id?.let { findNavController().popBackStack(it, true) }
findNavController().navigate(navFragId)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/OddSemScheduleFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/OddSemScheduleFragment.kt
index 1eb94c2..44b1bdb 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/OddSemScheduleFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/OddSemScheduleFragment.kt
@@ -56,7 +56,7 @@ class OddSemScheduleFragment(private val navController: NavController) : Fragmen
20 -> viewModel20.oddSemList
else -> null
}
- if(list!!.isEmpty()){
+ if(list.isNullOrEmpty()){
binding.txtDataFoundIndicator.visibility = View.VISIBLE
binding.rvExamScheduleList.visibility = View.GONE
} else {
@@ -88,7 +88,7 @@ class OddSemScheduleFragment(private val navController: NavController) : Fragmen
if(report.areAllPermissionsGranted()){
downloadPdf(url)
} else {
- Toast.makeText(requireContext(),"Please allow all permission to Download",
+ Toast.makeText(requireContext(),getString(R.string.allow_download_permission_message),
Toast.LENGTH_SHORT).show()
}
}
@@ -103,7 +103,7 @@ class OddSemScheduleFragment(private val navController: NavController) : Fragmen
private fun downloadPdf(url: String) {
val pd = ProgressDialog(requireContext())
- pd.setMessage("DownLoading...")
+ pd.setMessage(getString(R.string.downloading))
pd.setCancelable(false)
pd.show()
val file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
@@ -114,12 +114,12 @@ class OddSemScheduleFragment(private val navController: NavController) : Fragmen
.setOnCancelListener { }
.setOnProgressListener {
val percentage = it.currentBytes*100/it.totalBytes
- pd.setMessage("DownLoad : $percentage")
+ pd.setMessage(getString(R.string.download_percentage_completed,percentage))
}
.start(object : OnDownloadListener {
override fun onDownloadComplete() {
pd.cancel()
- Toast.makeText(requireContext(),"Download Complete", Toast.LENGTH_SHORT).show()
+ Toast.makeText(requireContext(),getText(R.string.download_complete), Toast.LENGTH_SHORT).show()
}
override fun onError(error: com.downloader.Error?) {
pd.cancel()
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/PdfViewerFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/PdfViewerFragment.kt
index ef2e5c1..0c0e6d9 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/PdfViewerFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/PdfViewerFragment.kt
@@ -114,7 +114,7 @@ class PdfViewerFragment: Fragment() {
.onPageError { page, _ ->
Toast.makeText(
context,
- "Error at page: $page", Toast.LENGTH_LONG
+ getString(R.string.error_at_page_number,page), Toast.LENGTH_LONG
).show()
}
.load()
@@ -139,7 +139,7 @@ class PdfViewerFragment: Fragment() {
*/
private fun navigate(navFragId: Int) {
val id = findNavController().currentDestination?.id
- findNavController().popBackStack(id!!, true)
+ id?.let { findNavController().popBackStack(it, true) }
findNavController().navigate(navFragId)
}
@@ -153,7 +153,7 @@ class PdfViewerFragment: Fragment() {
if(report.areAllPermissionsGranted()){
downloadPdf(url)
} else {
- Toast.makeText(requireContext(),"Please allow all permission to Download",Toast.LENGTH_SHORT).show()
+ Toast.makeText(requireContext(),getString(R.string.allow_download_permission_message),Toast.LENGTH_SHORT).show()
}
}
@@ -167,7 +167,7 @@ class PdfViewerFragment: Fragment() {
private fun downloadPdf(url: String) {
val pd = ProgressDialog(requireContext())
- pd.setMessage("DownLoading...")
+ pd.setMessage(getString(R.string.downloading))
pd.setCancelable(false)
pd.show()
val file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
@@ -178,12 +178,12 @@ class PdfViewerFragment: Fragment() {
.setOnCancelListener { }
.setOnProgressListener {
val percentage = it.currentBytes*100/it.totalBytes
- pd.setMessage("DownLoad : $percentage")
+ pd.setMessage(getString(R.string.download_percentage_completed,percentage))
}
.start(object : OnDownloadListener {
override fun onDownloadComplete() {
pd.cancel()
- Toast.makeText(requireContext(),"Download Complete",Toast.LENGTH_SHORT).show()
+ Toast.makeText(requireContext(),getString(R.string.download_complete),Toast.LENGTH_SHORT).show()
}
override fun onError(error: com.downloader.Error?) {
pd.cancel()
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementCellFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementCellFragment.kt
index 0a8b706..67f1163 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementCellFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementCellFragment.kt
@@ -22,8 +22,8 @@ class PlacementCellFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- binding.pageTitle = "Placement Cell"
+ binding.pageTitle = getString(R.string.placement_call)
binding.pageDesc = getString(R.string.placement_cell_p)
- binding.txtExtra.text = "For Correspondance with Training and Placement Cell: gcect@rediffmail.com"
+ binding.txtExtra.text = getString(R.string.placement_call_email)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementOverViewFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementOverViewFragment.kt
index 747d578..8c014cf 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementOverViewFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/PlacementOverViewFragment.kt
@@ -21,7 +21,7 @@ class PlacementOverViewFragment : Fragment() {
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- binding.pageTitle = "Placement Overview"
+ binding.pageTitle = getString(R.string.placement_overview)
binding.pageDesc = getString(R.string.placement_overview_p)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/SchedulePdfViewerFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/SchedulePdfViewerFragment.kt
index 2e4178e..8b1a310 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/SchedulePdfViewerFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/SchedulePdfViewerFragment.kt
@@ -83,11 +83,22 @@ class SchedulePdfViewerFragment() : Fragment() {
else -> null
}
CoroutineScope(Dispatchers.Main).launch {
- retrivePDFFromUrl(list!![pos!!].pdfUrl)
+ // Retrieve PDF File from URL only when examScheduleYear is not null
+ pos?.let { pos ->
+ list?.let { list ->
+ retrivePDFFromUrl(list[pos].pdfUrl)
+ }
+ }
+
}
binding.flBtnDownload.setOnClickListener {
- checkDownloadPermission(list!![pos!!].pdfUrl)
+ // Check PDF File download Permission only when examScheduleYear is not null
+ pos?.let { pos ->
+ list?.let { list ->
+ checkDownloadPermission(list[pos].pdfUrl)
+ }
+ }
}
onBackPressed()
}
@@ -138,7 +149,7 @@ class SchedulePdfViewerFragment() : Fragment() {
.onPageError { page, _ ->
Toast.makeText(
context,
- "Error at page: $page", Toast.LENGTH_LONG
+ getString(R.string.error_at_page_number, page), Toast.LENGTH_LONG
).show()
}
.load()
@@ -163,21 +174,25 @@ class SchedulePdfViewerFragment() : Fragment() {
*/
private fun navigate(navFragId: Int) {
val id = findNavController().currentDestination?.id
- findNavController().popBackStack(id!!, true)
+ id?.let { findNavController().popBackStack(it, true) }
findNavController().navigate(navFragId)
}
- private fun checkDownloadPermission(url:String){
+ private fun checkDownloadPermission(url: String) {
Dexter.withContext(requireActivity())
.withPermissions(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
).withListener(object : MultiplePermissionsListener {
override fun onPermissionsChecked(report: MultiplePermissionsReport) {
- if(report.areAllPermissionsGranted()){
+ if (report.areAllPermissionsGranted()) {
downloadPdf(url)
} else {
- Toast.makeText(requireContext(),"Please allow all permission to Download",Toast.LENGTH_SHORT).show()
+ Toast.makeText(
+ requireContext(),
+ getString(R.string.allow_download_permission_message),
+ Toast.LENGTH_SHORT
+ ).show()
}
}
@@ -191,24 +206,29 @@ class SchedulePdfViewerFragment() : Fragment() {
private fun downloadPdf(url: String) {
val pd = ProgressDialog(requireContext())
- pd.setMessage("DownLoading...")
+ pd.setMessage(getString(R.string.downloading))
pd.setCancelable(false)
pd.show()
val file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
- PRDownloader.download(url, file.path, URLUtil.guessFileName(url,null,null))
+ PRDownloader.download(url, file.path, URLUtil.guessFileName(url, null, null))
.build()
.setOnStartOrResumeListener { }
.setOnPauseListener { }
.setOnCancelListener { }
.setOnProgressListener {
- val percentage = it.currentBytes*100/it.totalBytes
- pd.setMessage("DownLoad : $percentage")
+ val percentage = it.currentBytes * 100 / it.totalBytes
+ pd.setMessage(getString(R.string.download_percentage_completed, percentage))
}
.start(object : OnDownloadListener {
override fun onDownloadComplete() {
pd.cancel()
- Toast.makeText(requireContext(),"Download Complete",Toast.LENGTH_SHORT).show()
+ Toast.makeText(
+ requireContext(),
+ getString(R.string.download_complete),
+ Toast.LENGTH_SHORT
+ ).show()
}
+
override fun onError(error: com.downloader.Error?) {
pd.cancel()
}
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/TheInstituteViewFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/TheInstituteViewFragment.kt
new file mode 100644
index 0000000..f78de3e
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/TheInstituteViewFragment.kt
@@ -0,0 +1,75 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.graphics.drawable.Drawable
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ProgressBar
+import android.widget.Toast
+import androidx.activity.OnBackPressedCallback
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.DataSource
+import com.bumptech.glide.load.engine.GlideException
+import com.bumptech.glide.request.RequestListener
+import com.bumptech.glide.request.target.Target
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.databinding.TheInstituteViewFragmentBinding
+
+class TheInstituteViewFragment: Fragment() {
+ private lateinit var binding: TheInstituteViewFragmentBinding
+ private val instituteImgUrl = "https://firebasestorage.googleapis.com/v0/b/gcect-app.appspot.com/o/About%20Us%2FThe%20Institute%2Fimg%2001.jpg?alt=media&token=9482f052-a36a-4828-ac34-7a0a77e7ff3f"
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+
+ binding = DataBindingUtil.inflate(inflater, R.layout.the_institute_view_fragment, container, false)
+ return binding.root
+
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ binding.txtPageTitle.text = "The Institute"
+ val progressbar: ProgressBar = binding.imgProgressBar
+ val instituteImg = binding.gcectTheInstituteImage
+ Glide.with(requireContext()).load(instituteImgUrl)
+ .listener(object : RequestListener {
+ override fun onLoadFailed(e: GlideException?, model: Any?, target: Target?, isFirstResource: Boolean): Boolean {
+ progressbar.visibility = View.GONE
+ Toast.makeText(requireContext(), "Failed to load image...", Toast.LENGTH_SHORT).show()
+ return false
+ }
+ override fun onResourceReady(resource: Drawable?, model: Any?, target: Target?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
+ progressbar.visibility = View.GONE
+ return false
+ }
+
+ })
+ .into(instituteImg)
+ onBackPressed()
+ }
+ private fun onBackPressed() {
+ requireActivity()
+ .onBackPressedDispatcher
+ .addCallback(viewLifecycleOwner, object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ // Do custom work here
+ navigate(
+ R.id.homeFragment
+ )
+ }
+ }
+ )
+ }
+ /**
+ * For handling navigation
+ */
+ private fun navigate(navFragId: Int) {
+ val id = findNavController().currentDestination?.id
+ findNavController().popBackStack(id!!, true)
+ findNavController().navigate(navFragId)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/VisionMissionViewFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/VisionMissionViewFragment.kt
new file mode 100644
index 0000000..f583d22
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/VisionMissionViewFragment.kt
@@ -0,0 +1,92 @@
+package com.gcect.gcectapp.ui.fragments
+
+import android.graphics.drawable.Drawable
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ProgressBar
+import android.widget.Toast
+import androidx.activity.OnBackPressedCallback
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.DataSource
+import com.bumptech.glide.load.engine.GlideException
+import com.bumptech.glide.request.RequestListener
+import com.bumptech.glide.request.target.Target
+import com.gcect.gcectapp.R
+import com.gcect.gcectapp.databinding.VisionMissionViewFragmentBinding
+
+class VisionMissionViewFragment: Fragment() {
+ private lateinit var binding: VisionMissionViewFragmentBinding
+ private val visionImgUrl = "https://firebasestorage.googleapis.com/v0/b/gcect-app.appspot.com/o/About%20Us%2FVision%20%26%20Mission%2FIMG01.jpg?alt=media&token=d1711213-ece8-4794-9e17-0061c3162285"
+ private val missionImgUrl = "https://firebasestorage.googleapis.com/v0/b/gcect-app.appspot.com/o/About%20Us%2FVision%20%26%20Mission%2FIMG02.jpg?alt=media&token=f6f05ccc-575e-407c-ac05-e819df877068"
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+
+ binding = DataBindingUtil.inflate(inflater, R.layout.vision_mission_view_fragment, container, false)
+ return binding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ binding.txtPageTitle.text = "VISION & MISSION"
+ binding.visionImageText.text = getString(R.string.vision_and_mission_p1)
+ val progressbarV: ProgressBar = binding.imgProgressBarV
+ val progressbarM: ProgressBar = binding.imgProgressBarM
+ val visionImg = binding.gcectVisionImage
+ val missionImg = binding.gcectMissionImage
+ Glide.with(requireContext()).load(visionImgUrl)
+ .listener(object : RequestListener {
+ override fun onLoadFailed(e: GlideException?, model: Any?, target: Target?, isFirstResource: Boolean): Boolean {
+ progressbarV.visibility = View.GONE
+ Toast.makeText(requireContext(), "Failed to load image...", Toast.LENGTH_SHORT).show()
+ return false
+ }
+ override fun onResourceReady(resource: Drawable?, model: Any?, target: Target?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
+ progressbarM.visibility = View.GONE
+ return false
+ }
+
+ })
+ .into(visionImg)
+ Glide.with(requireContext()).load(missionImgUrl)
+ .listener(object : RequestListener{
+ override fun onLoadFailed(e: GlideException?, model: Any?, target: Target?, isFirstResource: Boolean): Boolean {
+ progressbarM.visibility = View.GONE
+ Toast.makeText(requireContext(), "Failed to load image...", Toast.LENGTH_SHORT).show()
+ return false
+ }
+ override fun onResourceReady(resource: Drawable?, model: Any?, target: Target?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
+ progressbarM.visibility = View.GONE
+ return false
+ }
+
+ })
+ .into(missionImg)
+ onBackPressed()
+ }
+ private fun onBackPressed() {
+ requireActivity()
+ .onBackPressedDispatcher
+ .addCallback(viewLifecycleOwner, object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ // Do custom work here
+ navigate(
+ R.id.homeFragment
+ )
+ }
+ }
+ )
+ }
+ /**
+ * For handling navigation
+ */
+ private fun navigate(navFragId: Int) {
+ val id = findNavController().currentDestination?.id
+ findNavController().popBackStack(id!!, true)
+ findNavController().navigate(navFragId)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/WelfareFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/WelfareFragment.kt
index d30fb79..ab8e5df 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/WelfareFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/WelfareFragment.kt
@@ -34,7 +34,7 @@ class WelfareFragment : Fragment() {
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- binding.txtPageTitle.text = "Welfare Association"
+ binding.txtPageTitle.text = getString(R.string.welfare_association)
binding.pdfLoadingProgress.visibility = View.VISIBLE
CoroutineScope(Dispatchers.Main).launch {
@@ -87,7 +87,7 @@ class WelfareFragment : Fragment() {
.onPageError { page, _ ->
Toast.makeText(
context,
- "Error at page: $page", Toast.LENGTH_LONG
+ getString(R.string.error_at_page_number, page), Toast.LENGTH_LONG
).show()
}
.load()
diff --git a/app/src/main/java/com/gcect/gcectapp/ui/fragments/WorkshopSeminarFragment.kt b/app/src/main/java/com/gcect/gcectapp/ui/fragments/WorkshopSeminarFragment.kt
index 5356fe5..0cc1353 100644
--- a/app/src/main/java/com/gcect/gcectapp/ui/fragments/WorkshopSeminarFragment.kt
+++ b/app/src/main/java/com/gcect/gcectapp/ui/fragments/WorkshopSeminarFragment.kt
@@ -34,7 +34,7 @@ class WorkshopSeminarFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- binding.txtPageTitle.text = "Workshop Seminar"
+ binding.txtPageTitle.text = getString(R.string.workshop_seminar)
binding.pdfLoadingProgress.visibility = View.VISIBLE
CoroutineScope(Dispatchers.Main).launch {
diff --git a/app/src/main/java/com/gcect/gcectapp/viewmodels/CollaborationViewmodel.kt b/app/src/main/java/com/gcect/gcectapp/viewmodels/CollaborationViewmodel.kt
new file mode 100644
index 0000000..b89739d
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/viewmodels/CollaborationViewmodel.kt
@@ -0,0 +1,26 @@
+package com.gcect.gcectapp.viewmodels
+
+import androidx.lifecycle.ViewModel
+import com.gcect.gcectapp.model.CollaborationDetails
+
+
+
+class CollaborationViewmodel:ViewModel() {
+ private val _listOfCollaborationDetail = ArrayList()
+ val listOfCollaborationDetail:List = _listOfCollaborationDetail
+
+ init{
+ addCollaborationDetailToList("Some impacts evident at the College as a result of its collaborations with other agencies are as follows:")
+ addCollaborationDetailToList("Establishment for centre for Jute Cement Composite research in collaboration with IIT, Kharagpur.")
+ addCollaborationDetailToList("Student of both the institute share laboratory facilities with Chemical Engineering and Chemical TechnologyDeptt. Of Calcutta University and Metallurgy Dept. of Jadavpur University.")
+ addCollaborationDetailToList("Involvement of all PG students of Ceramic Technology (2010-12)with financial support in research funded by private entrepreneurs, Progressive Enterprise Pvt. Ltd.")
+ addCollaborationDetailToList("Involvement of few passed out UG students in projects funded by private agencies like Aditya Birla Insulators Ltd., Sepulchre Brothers (India) Pvt. Ltd. Etc.")
+ addCollaborationDetailToList("Regular visit of industry personal of collaborative industry for interaction with the student and the faculty members.")
+ }
+
+ private fun addCollaborationDetailToList(detail: String) {
+ val collaborationDetail = CollaborationDetails(detail)
+ _listOfCollaborationDetail.add(collaborationDetail)
+ }
+
+}
diff --git a/app/src/main/java/com/gcect/gcectapp/viewmodels/NoteViewModel.kt b/app/src/main/java/com/gcect/gcectapp/viewmodels/NoteViewModel.kt
index 12a2b73..1c842a2 100644
--- a/app/src/main/java/com/gcect/gcectapp/viewmodels/NoteViewModel.kt
+++ b/app/src/main/java/com/gcect/gcectapp/viewmodels/NoteViewModel.kt
@@ -13,6 +13,9 @@ class NoteViewModel(application: Application) : AndroidViewModel(application) {
val allNotes: LiveData>
val repository: NoteRepository
+
+ var editNote:NoteEntity? = null
+
init {
val dao= NoteDatabase.getDatabase(application).noteDao()
repository=NoteRepository(dao)
@@ -30,4 +33,9 @@ class NoteViewModel(application: Application) : AndroidViewModel(application) {
repository.updateNote(uid, noteTitle, noteBody)
}
+ @JvmName("setEditNote1")
+ fun setEditNote(noteEntity: NoteEntity){
+ editNote = noteEntity
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gcect/gcectapp/viewmodels/PatentViewmodel.kt b/app/src/main/java/com/gcect/gcectapp/viewmodels/PatentViewmodel.kt
new file mode 100644
index 0000000..37ebdd1
--- /dev/null
+++ b/app/src/main/java/com/gcect/gcectapp/viewmodels/PatentViewmodel.kt
@@ -0,0 +1,22 @@
+package com.gcect.gcectapp.viewmodels
+
+import androidx.lifecycle.ViewModel
+import com.gcect.gcectapp.model.PatentDetails
+
+
+class PatentViewmodel:ViewModel() {
+ private val _listOfPatentDetail = ArrayList()
+ val listOfPatentDetail: List = _listOfPatentDetail
+
+ init {
+ addPatentDetailToList("S. Maitra, et. al. :Scouring powder Composition and a process there of,(between GCECT and CFRI, Dhanbad) European Patent, 10/107,613, March, 27, 2002.")
+ addPatentDetailToList("SampaChakraborty, S. Maitra and R.C. Das, Ceramic glazing pigments from chrome iron sludge, (No. PAA 1918) submitted to NRDC.")
+ }
+
+ private fun addPatentDetailToList(detail: String) {
+ val patentDetail = PatentDetails(detail)
+ _listOfPatentDetail.add(patentDetail)
+ }
+}
+
+
diff --git a/app/src/main/res/drawable-v24/faculty_principle_img.png b/app/src/main/res/drawable-v24/faculty_principle_img.png
new file mode 100644
index 0000000..46331b8
Binary files /dev/null and b/app/src/main/res/drawable-v24/faculty_principle_img.png differ
diff --git a/app/src/main/res/drawable/administration_header.png b/app/src/main/res/drawable/administration_header.png
new file mode 100644
index 0000000..9079b53
Binary files /dev/null and b/app/src/main/res/drawable/administration_header.png differ
diff --git a/app/src/main/res/drawable/blue_gradient.xml b/app/src/main/res/drawable/blue_gradient.xml
new file mode 100644
index 0000000..1fd51dc
--- /dev/null
+++ b/app/src/main/res/drawable/blue_gradient.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/blue_rounded_rectangle.xml b/app/src/main/res/drawable/blue_rounded_rectangle.xml
new file mode 100644
index 0000000..19fd2a7
--- /dev/null
+++ b/app/src/main/res/drawable/blue_rounded_rectangle.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cardview_rounded.xml b/app/src/main/res/drawable/cardview_rounded.xml
new file mode 100644
index 0000000..0b24cab
--- /dev/null
+++ b/app/src/main/res/drawable/cardview_rounded.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/dialog_box_rounded_background.xml b/app/src/main/res/drawable/dialog_box_rounded_background.xml
index 0c37836..63dfe77 100644
--- a/app/src/main/res/drawable/dialog_box_rounded_background.xml
+++ b/app/src/main/res/drawable/dialog_box_rounded_background.xml
@@ -4,5 +4,5 @@
+ android:radius="50dp"/>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_baseline_edit_24.xml b/app/src/main/res/drawable/edit_icon.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_edit_24.xml
rename to app/src/main/res/drawable/edit_icon.xml
diff --git a/app/src/main/res/drawable/ellipse_header.xml b/app/src/main/res/drawable/ellipse_header.xml
new file mode 100644
index 0000000..f94fad0
--- /dev/null
+++ b/app/src/main/res/drawable/ellipse_header.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/etutorial_icon.xml b/app/src/main/res/drawable/etutorial_icon.xml
index a35be2a..cedaf8b 100644
--- a/app/src/main/res/drawable/etutorial_icon.xml
+++ b/app/src/main/res/drawable/etutorial_icon.xml
@@ -1,9 +1,5 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/examination_icon.xml b/app/src/main/res/drawable/examination_icon.xml
index 9bcb760..d80f68b 100644
--- a/app/src/main/res/drawable/examination_icon.xml
+++ b/app/src/main/res/drawable/examination_icon.xml
@@ -1,9 +1,6 @@
-
-
+
+
+
diff --git a/app/src/main/res/drawable/faculty_round_image_test.png b/app/src/main/res/drawable/faculty_round_image_test.png
new file mode 100644
index 0000000..abcfea9
Binary files /dev/null and b/app/src/main/res/drawable/faculty_round_image_test.png differ
diff --git a/app/src/main/res/drawable/hamburger_icon_blue.xml b/app/src/main/res/drawable/hamburger_icon_blue.xml
index f19b57a..226f57e 100644
--- a/app/src/main/res/drawable/hamburger_icon_blue.xml
+++ b/app/src/main/res/drawable/hamburger_icon_blue.xml
@@ -1,9 +1,5 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/hamburger_icon_white.png b/app/src/main/res/drawable/hamburger_icon_white.png
deleted file mode 100644
index 2a255ba..0000000
Binary files a/app/src/main/res/drawable/hamburger_icon_white.png and /dev/null differ
diff --git a/app/src/main/res/drawable/hamburger_icon_white.xml b/app/src/main/res/drawable/hamburger_icon_white.xml
new file mode 100644
index 0000000..d285d99
--- /dev/null
+++ b/app/src/main/res/drawable/hamburger_icon_white.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/home_icon.png b/app/src/main/res/drawable/home_icon.png
deleted file mode 100644
index ed46074..0000000
Binary files a/app/src/main/res/drawable/home_icon.png and /dev/null differ
diff --git a/app/src/main/res/drawable/home_icon.xml b/app/src/main/res/drawable/home_icon.xml
new file mode 100644
index 0000000..4c5e854
--- /dev/null
+++ b/app/src/main/res/drawable/home_icon.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/home_page_bottom_sheet_background.xml b/app/src/main/res/drawable/home_page_bottom_sheet_background.xml
index a45ead0..7f85be5 100644
--- a/app/src/main/res/drawable/home_page_bottom_sheet_background.xml
+++ b/app/src/main/res/drawable/home_page_bottom_sheet_background.xml
@@ -1,9 +1,19 @@
+
+
+
-
\ No newline at end of file
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_baseline_edit_24.png b/app/src/main/res/drawable/ic_baseline_edit_24.png
new file mode 100644
index 0000000..a990aba
Binary files /dev/null and b/app/src/main/res/drawable/ic_baseline_edit_24.png differ
diff --git a/app/src/main/res/drawable/ic_bimal.png b/app/src/main/res/drawable/ic_bimal.png
new file mode 100644
index 0000000..6caf17c
Binary files /dev/null and b/app/src/main/res/drawable/ic_bimal.png differ
diff --git a/app/src/main/res/drawable/ic_fax.xml b/app/src/main/res/drawable/ic_fax.xml
new file mode 100644
index 0000000..c52fb62
--- /dev/null
+++ b/app/src/main/res/drawable/ic_fax.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 07d5da9..0000000
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_line_separater.xml b/app/src/main/res/drawable/ic_line_separater.xml
new file mode 100644
index 0000000..4d4da78
--- /dev/null
+++ b/app/src/main/res/drawable/ic_line_separater.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_mail.xml b/app/src/main/res/drawable/ic_mail.xml
new file mode 100644
index 0000000..80111c8
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mail.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_phone_contact.xml b/app/src/main/res/drawable/ic_phone_contact.xml
new file mode 100644
index 0000000..bc16de5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_phone_contact.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_sohini.png b/app/src/main/res/drawable/ic_sohini.png
new file mode 100644
index 0000000..21720b6
Binary files /dev/null and b/app/src/main/res/drawable/ic_sohini.png differ
diff --git a/app/src/main/res/drawable/ic_soumit.png b/app/src/main/res/drawable/ic_soumit.png
new file mode 100644
index 0000000..1896f5b
Binary files /dev/null and b/app/src/main/res/drawable/ic_soumit.png differ
diff --git a/app/src/main/res/drawable/map_image.png b/app/src/main/res/drawable/map_image.png
new file mode 100644
index 0000000..700514b
Binary files /dev/null and b/app/src/main/res/drawable/map_image.png differ
diff --git a/app/src/main/res/drawable/nav_drawer_background.xml b/app/src/main/res/drawable/nav_drawer_background.xml
index 06da358..d167e17 100644
--- a/app/src/main/res/drawable/nav_drawer_background.xml
+++ b/app/src/main/res/drawable/nav_drawer_background.xml
@@ -1,11 +1,9 @@
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/rect_cardview_round.xml b/app/src/main/res/drawable/rect_cardview_round.xml
new file mode 100644
index 0000000..231a1ec
--- /dev/null
+++ b/app/src/main/res/drawable/rect_cardview_round.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/rectangle_2.xml b/app/src/main/res/drawable/rectangle_2.xml
new file mode 100644
index 0000000..573a549
--- /dev/null
+++ b/app/src/main/res/drawable/rectangle_2.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/round_logo.png b/app/src/main/res/drawable/round_logo.png
new file mode 100644
index 0000000..ca80533
Binary files /dev/null and b/app/src/main/res/drawable/round_logo.png differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 93e193a..e4d6925 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -11,8 +11,7 @@
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.activity.MainActivity"
- tools:openDrawer="start">
+ tools:context=".ui.activity.MainActivity">
-
-
+
+
+
+
+
+
+
+ app:cardCornerRadius="15dp"
+ android:layout_marginStart="15dp"
+ android:elevation="10dp">
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_splash_screen.xml b/app/src/main/res/layout/activity_splash_screen.xml
index f816860..2051752 100644
--- a/app/src/main/res/layout/activity_splash_screen.xml
+++ b/app/src/main/res/layout/activity_splash_screen.xml
@@ -1,14 +1,14 @@
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/administration_ui.xml b/app/src/main/res/layout/administration_ui.xml
new file mode 100644
index 0000000..c9fb970
--- /dev/null
+++ b/app/src/main/res/layout/administration_ui.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/collaboration_recyclerview_item.xml b/app/src/main/res/layout/collaboration_recyclerview_item.xml
new file mode 100644
index 0000000..0892fb9
--- /dev/null
+++ b/app/src/main/res/layout/collaboration_recyclerview_item.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/examination_schedule_page.xml b/app/src/main/res/layout/examination_schedule_page.xml
index 0f8a24a..b481752 100644
--- a/app/src/main/res/layout/examination_schedule_page.xml
+++ b/app/src/main/res/layout/examination_schedule_page.xml
@@ -15,7 +15,8 @@
+ android:layout_above="@id/tabLayout"
+ android:layout_below="@id/flHeading" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/faculty_member_item_view.xml b/app/src/main/res/layout/faculty_member_item_view.xml
new file mode 100644
index 0000000..258ddfa
--- /dev/null
+++ b/app/src/main/res/layout/faculty_member_item_view.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_collaboration_.xml b/app/src/main/res/layout/fragment_collaboration_.xml
new file mode 100644
index 0000000..d9cb6a0
--- /dev/null
+++ b/app/src/main/res/layout/fragment_collaboration_.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_consultancy_.xml b/app/src/main/res/layout/fragment_consultancy_.xml
new file mode 100644
index 0000000..e2bcf22
--- /dev/null
+++ b/app/src/main/res/layout/fragment_consultancy_.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_contact_us.xml b/app/src/main/res/layout/fragment_contact_us.xml
index 4b4add2..82197c1 100644
--- a/app/src/main/res/layout/fragment_contact_us.xml
+++ b/app/src/main/res/layout/fragment_contact_us.xml
@@ -1,14 +1,278 @@
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_department_c_t.xml b/app/src/main/res/layout/fragment_department_c_t.xml
index 29a34df..586c1c1 100644
--- a/app/src/main/res/layout/fragment_department_c_t.xml
+++ b/app/src/main/res/layout/fragment_department_c_t.xml
@@ -1,14 +1,180 @@
-
+
+
+
+
+
+
+ android:layout_height="match_parent">
-
-
+ android:background="@drawable/yellow_gradient_background"
+ android:orientation="vertical"
+ tools:context=".ui.fragments.ResearchDevelopmentFragment">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 736e08c..a0588f5 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -23,7 +23,7 @@
@@ -31,14 +31,14 @@
android:id="@+id/image_slider"
android:layout_width="match_parent"
android:layout_height="150dp"
- android:layout_marginTop="75dp"
+ android:layout_marginTop="100dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
app:sliderAnimationDuration="600"
app:sliderAutoCycleDirection="back_and_forth"
app:sliderAutoCycleEnabled="true"
app:sliderIndicatorAnimationDuration="600"
- app:sliderIndicatorGravity="center_horizontal"
+ app:sliderIndicatorGravity="bottom|center"
app:sliderIndicatorMargin="15dp"
app:sliderIndicatorOrientation="horizontal"
app:sliderIndicatorPadding="3dp"
@@ -72,7 +72,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/rvGateRanker"
- android:layout_marginBottom="40dp"/>
+ android:layout_marginBottom="40dp" />
@@ -27,7 +27,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="58dp"
- android:layout_marginTop="25dp"
+ android:layout_marginTop="45dp"
android:fontFamily="@font/roboto_bold"
android:text="NSS"
android:textColor="@color/white"
@@ -39,7 +39,7 @@
android:id="@+id/image_slider"
android:layout_width="match_parent"
android:layout_height="200dp"
- android:layout_marginTop="75dp"
+ android:layout_marginTop="100dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
app:sliderAnimationDuration="600"
diff --git a/app/src/main/res/layout/fragment_note_add.xml b/app/src/main/res/layout/fragment_note_add.xml
index abf7fe4..74c92a6 100644
--- a/app/src/main/res/layout/fragment_note_add.xml
+++ b/app/src/main/res/layout/fragment_note_add.xml
@@ -19,7 +19,7 @@
diff --git a/app/src/main/res/layout/fragment_note_show.xml b/app/src/main/res/layout/fragment_note_show.xml
index 3e348ca..ef23ff9 100644
--- a/app/src/main/res/layout/fragment_note_show.xml
+++ b/app/src/main/res/layout/fragment_note_show.xml
@@ -7,14 +7,14 @@
+ android:layout_marginTop="185dp">
diff --git a/app/src/main/res/layout/history_view_fragment.xml b/app/src/main/res/layout/history_view_fragment.xml
new file mode 100644
index 0000000..66ae9c5
--- /dev/null
+++ b/app/src/main/res/layout/history_view_fragment.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/home_page_bottom_sheet.xml b/app/src/main/res/layout/home_page_bottom_sheet.xml
index ac4d6b9..b3498af 100644
--- a/app/src/main/res/layout/home_page_bottom_sheet.xml
+++ b/app/src/main/res/layout/home_page_bottom_sheet.xml
@@ -13,7 +13,7 @@
diff --git a/app/src/main/res/layout/nav_base_recycler_item.xml b/app/src/main/res/layout/nav_base_recycler_item.xml
index dab514f..c8d6458 100644
--- a/app/src/main/res/layout/nav_base_recycler_item.xml
+++ b/app/src/main/res/layout/nav_base_recycler_item.xml
@@ -14,6 +14,8 @@
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
+ android:gravity="center_vertical"
+ android:paddingVertical="8dp"
android:layout_marginBottom="5dp">
+ android:textSize="18sp" />
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/nav_header.xml b/app/src/main/res/layout/nav_header.xml
index 73fe21d..02549b5 100644
--- a/app/src/main/res/layout/nav_header.xml
+++ b/app/src/main/res/layout/nav_header.xml
@@ -22,6 +22,7 @@
android:id="@+id/roundedImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:padding="8dp"
android:src="@drawable/gcect_logo"
android:background="@color/white"
android:scaleType="centerCrop"
@@ -38,7 +39,7 @@
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:clickable="true"
+ android:focusable="true"
+ android:src="@drawable/edit_icon" />
@@ -55,9 +57,10 @@
android:layout_height="wrap_content"
android:layout_below="@id/txtNoteTitle"
android:layout_marginStart="15dp"
- android:layout_marginTop="30dp"
+ android:layout_marginTop="5dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="20dp"
+ android:layout_toStartOf="@+id/imgDeleteNote"
android:fontFamily="@font/roboto_light"
android:textColor="@color/black"
android:textSize="16sp"
diff --git a/app/src/main/res/layout/patents_recyclerview_item.xml b/app/src/main/res/layout/patents_recyclerview_item.xml
new file mode 100644
index 0000000..1003078
--- /dev/null
+++ b/app/src/main/res/layout/patents_recyclerview_item.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/pdf_viewer_with_download.xml b/app/src/main/res/layout/pdf_viewer_with_download.xml
index ce803c5..e11c62a 100644
--- a/app/src/main/res/layout/pdf_viewer_with_download.xml
+++ b/app/src/main/res/layout/pdf_viewer_with_download.xml
@@ -13,6 +13,7 @@
diff --git a/app/src/main/res/layout/pdf_viewer_without_download.xml b/app/src/main/res/layout/pdf_viewer_without_download.xml
index 1e67ecf..bbfe293 100644
--- a/app/src/main/res/layout/pdf_viewer_without_download.xml
+++ b/app/src/main/res/layout/pdf_viewer_without_download.xml
@@ -15,15 +15,16 @@
+ android:layout_height="150dp"
+ android:background="@drawable/ellipse"
+ android:paddingTop="25dp">
diff --git a/app/src/main/res/layout/static_text_fragments_with_yellow_background.xml b/app/src/main/res/layout/static_text_fragments_with_yellow_background.xml
index 16ae30e..2f26084 100644
--- a/app/src/main/res/layout/static_text_fragments_with_yellow_background.xml
+++ b/app/src/main/res/layout/static_text_fragments_with_yellow_background.xml
@@ -21,7 +21,8 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/vision_mission_view_fragment.xml b/app/src/main/res/layout/vision_mission_view_fragment.xml
new file mode 100644
index 0000000..fdee961
--- /dev/null
+++ b/app/src/main/res/layout/vision_mission_view_fragment.xml
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/gcecet_app_icon.xml b/app/src/main/res/mipmap-anydpi-v26/gcecet_app_icon.xml
new file mode 100644
index 0000000..6c3d38d
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/gcecet_app_icon.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/gcecet_app_icon_round.xml b/app/src/main/res/mipmap-anydpi-v26/gcecet_app_icon_round.xml
new file mode 100644
index 0000000..54ccf45
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/gcecet_app_icon_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index eca70cf..0000000
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index eca70cf..0000000
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/gcecet_app_icon.png b/app/src/main/res/mipmap-hdpi/gcecet_app_icon.png
new file mode 100644
index 0000000..48e5988
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/gcecet_app_icon.png differ
diff --git a/app/src/main/res/mipmap-hdpi/gcecet_app_icon_foreground.png b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_foreground.png
new file mode 100644
index 0000000..5be7967
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_foreground.png differ
diff --git a/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round.png b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round.png
new file mode 100644
index 0000000..7da8fdf
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round.png differ
diff --git a/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round_adaptive_back.png b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round_adaptive_back.png
new file mode 100644
index 0000000..19442fb
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round_adaptive_back.png differ
diff --git a/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round_adaptive_fore.png b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round_adaptive_fore.png
new file mode 100644
index 0000000..4edfd42
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/gcecet_app_icon_round_adaptive_fore.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78..0000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d..0000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/gcecet_app_icon.png b/app/src/main/res/mipmap-mdpi/gcecet_app_icon.png
new file mode 100644
index 0000000..a5470bb
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/gcecet_app_icon.png differ
diff --git a/app/src/main/res/mipmap-mdpi/gcecet_app_icon_foreground.png b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_foreground.png
new file mode 100644
index 0000000..c324876
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_foreground.png differ
diff --git a/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round.png b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round.png
new file mode 100644
index 0000000..69fc2e6
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round.png differ
diff --git a/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round_adaptive_back.png b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round_adaptive_back.png
new file mode 100644
index 0000000..554cbdf
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round_adaptive_back.png differ
diff --git a/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round_adaptive_fore.png b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round_adaptive_fore.png
new file mode 100644
index 0000000..0adbe27
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/gcecet_app_icon_round_adaptive_fore.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d6..0000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611d..0000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/gcecet_app_icon.png b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon.png
new file mode 100644
index 0000000..e6ef24c
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_foreground.png b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_foreground.png
new file mode 100644
index 0000000..091d461
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_foreground.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round.png b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round.png
new file mode 100644
index 0000000..9993c1c
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round_adaptive_back.png b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round_adaptive_back.png
new file mode 100644
index 0000000..860778e
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round_adaptive_back.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round_adaptive_fore.png b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round_adaptive_fore.png
new file mode 100644
index 0000000..5c040bc
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gcecet_app_icon_round_adaptive_fore.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 948a307..0000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1b9a695..0000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon.png b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon.png
new file mode 100644
index 0000000..ebd9c54
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_foreground.png b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_foreground.png
new file mode 100644
index 0000000..3d10528
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_foreground.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round.png b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round.png
new file mode 100644
index 0000000..30436a4
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round_adaptive_back.png b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round_adaptive_back.png
new file mode 100644
index 0000000..4d96fbe
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round_adaptive_back.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round_adaptive_fore.png b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round_adaptive_fore.png
new file mode 100644
index 0000000..bb7e2a3
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/gcecet_app_icon_round_adaptive_fore.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f50..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon.png b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon.png
new file mode 100644
index 0000000..53d6f40
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_foreground.png b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_foreground.png
new file mode 100644
index 0000000..8d26789
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_foreground.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round.png b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round.png
new file mode 100644
index 0000000..68c0446
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round_adaptive_back.png b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round_adaptive_back.png
new file mode 100644
index 0000000..9fc7a10
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round_adaptive_back.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round_adaptive_fore.png b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round_adaptive_fore.png
new file mode 100644
index 0000000..ae89e96
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/gcecet_app_icon_round_adaptive_fore.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d642..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae3..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/navigation/app_navigation.xml b/app/src/main/res/navigation/app_navigation.xml
index ebfd601..1390e93 100644
--- a/app/src/main/res/navigation/app_navigation.xml
+++ b/app/src/main/res/navigation/app_navigation.xml
@@ -29,6 +29,16 @@
android:name="com.gcect.gcectapp.ui.fragments.DepartmentCTFragment"
android:label="fragment_department_c_t"
tools:layout="@layout/fragment_department_c_t" />
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index 28e7606..c93797d 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -12,5 +12,6 @@
?attr/colorPrimaryVariant
+ true
\ No newline at end of file
diff --git a/app/src/main/res/values/gcece_app_icon_background.xml b/app/src/main/res/values/gcece_app_icon_background.xml
new file mode 100644
index 0000000..0974614
--- /dev/null
+++ b/app/src/main/res/values/gcece_app_icon_background.xml
@@ -0,0 +1,4 @@
+
+
+ #FFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/gcecet_app_icon_background.xml b/app/src/main/res/values/gcecet_app_icon_background.xml
new file mode 100644
index 0000000..4fca2ac
--- /dev/null
+++ b/app/src/main/res/values/gcecet_app_icon_background.xml
@@ -0,0 +1,4 @@
+
+
+ #FFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml
new file mode 100644
index 0000000..59c1490
--- /dev/null
+++ b/app/src/main/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #F6F9FA
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cfc9a2d..95461e2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
-
+GCECT APPOpenClose
@@ -15,6 +15,8 @@
The institute has also received grant from the World Bank in the TEQIP-1 Phase for various developmental projects.\n\n
This grant has been spent for:\n\n
+ Consultancy activities are carried out by faculty members of various departments. They are provided to different organizations by way of auditing and as technical experts during audit of ISO 9001:2008 QMS, ISO 14001:2004 Ems and ISO 18001:2007 OHSAS.
+ How has the College’s collaboration with other agencies impacted the visibility, identity and diversity of activities on the campus? To what extent has the College benefited academically and financially because of collaborations?
⚫ Development of Infrastructure.\n
⚫ New Laboratory equipments.\n
@@ -29,7 +31,7 @@
Status: %s%s,\n%sBeing one of the most sought after Higher Education Institutions in India, Government College Of Engineering and Ceramic Technology takes pride in introducing a journal named SCIENTIFIC VOYAGE that throws light on significant areas in Science, Engineering, Management and Technology. The journal enables publication of pre-eminent research work by Researchers, Acamedicians, and Scientists pertaining to varied disciplines.
- Goverment College of Engineering and Ceramic Technology was established in 1941 by Professor Sasadhar Ray who was an eminent and educationist and the first Principal of the college. At that time the college was named as Bengal Ceramic Institute Calcutta, which later on flowered into College of Ceramic Technology. Professor Ray was one of the pioneers in spreading ceramic education in India. He obtained his M.Sc. degree in Physics in 1930, as a student of Prof. Satyendranath Bose, from the University of Dacca having been place first in Class. He was a research scholar under Prof. K. S. Krishnan-F.R.S. in the Indian Association for the Cultivation of Science and served as a supervisor in Peripatetic Demonstration for Scheme of the Govt. of Bengal to popularize the ceramic manufacturing processes in the villages. He also worked for a brief period in the Industrial Research Laboratory, Dept. of Industries, Government of West Bengal.
+ Government College of Engineering and Ceramic Technology was established in 1941 by Professor Sasadhar Ray who was an eminent and educationist and the first Principal of the college. At that time the college was named as Bengal Ceramic Institute Calcutta, which later on flowered into College of Ceramic Technology. Professor Ray was one of the pioneers in spreading ceramic education in India. He obtained his M.Sc. degree in Physics in 1930, as a student of Prof. Satyendranath Bose, from the University of Dacca having been place first in Class. He was a research scholar under Prof. K. S. Krishnan-F.R.S. in the Indian Association for the Cultivation of Science and served as a supervisor in Peripatetic Demonstration for Scheme of the Govt. of Bengal to popularize the ceramic manufacturing processes in the villages. He also worked for a brief period in the Industrial Research Laboratory, Dept. of Industries, Government of West Bengal.The college started with certificate and diploma courses in Ceramic Technology with six other different courses to train people for various ceramic industries in the eastern and other regions of India. Prof. Roy organized a commercial Training- cum- Production unit at the institute to provide employment through practical training to the students. He formulated many developmental schemes with their successful implementation and introduced the concept of self- employment in the institute to cope with the problem of growing unemployment in the country. He was the pioneer in India to manufacture bone chinawares using indigenous raw materials on commercial basis and glazed pottery, sanitary wares, tiles and low-tension insulators from Gangetic silt. His contribution to ceramic education and industry has gone for and near within India and round the globe.In the year 1962, B. Sc (Tech.) degree course in Ceramic Technology under the University of Calcutta was introduced in the institute, which was then renamed as College of Ceramic Technology and was undertaken by the Govt. of West Bengal. At that time more emphasis was given on Traditional Ceramics. Traditional consists of pottery including materials, cement, etc. and traditional glasses for windows and containers/bottles including crystal glasses and of course the infamous optical glasses for our eyes and cameras.Then came Dr. B. N. Samaddar as the Principal of the College, who was trained in MIT, USA. He brought a sophisticated touch of modern ceramics like Nuclear Ceramics, Space Ceramics, Electronic and Magnetic Ceramics, Bio-Ceramics, Piezoelectrics and Ferroelectrics by continuous enriching the courses with a strong emphasis on Materials Science.
@@ -40,4 +42,81 @@
The placement programme of GCECT has been moving from strength to strength through nurturing of value added relationships over the years. Every year, new milestones are established which speaks well for the strengths of this institute?s student community as well as the diversity of academic programmes offered.\n\n
The final year students of Ceramic Technology have already undergone 100% recruitment in various renowned companies like Saint Gobain Glass, Jindal South West Steel., Essar Steel, Steel Authority of India., Grindwell Norton, MECON, Tata Refractories and more. The students of final year, IT and CSE departments have also been successful in getting through software giants such as TCS., Cognizant ,Wipro, Infosys, Tech. Mahindra, Accenture,Tata Elxsi and many more. The year 2020 saw the B.Tech students of Ceramic Technology getting the highest salary of about Rs.7.5 lakh and an average salary of Rs.3.00 lakh. The companies that visited this college for recruiting B.Tech. students of IT and CSE departments in the year 2020 had been offered the highest salary of about 4.50 lakh and the average salary about 3.00 lakh
+ Our College of Ceramic Technology was established in 1941 by Professor Sasadhar Ray who was an eminent and educationist and the first Principal of the college. At that time the college was named as Bengal Ceramic Institute Calcutta, which later on flowered into College of Ceramic Technology. Professor Ray was one of the pioneers in spreading ceramic education in India. He obtained his M.Sc. degree in Physics in 1930, as a student of Prof. Satyendranath Bose, from the University of Dacca having been place first in Class. He was a research scholar under Prof. K. S. Krishnan-F.R.S. in the Indian Association for the Cultivation of Science and served as a supervisor in Peripatetic Demonstration for Scheme of the Govt. of Bengal to popularize the ceramic manufacturing processes in the villages. He also worked for a brief period in the Industrial Research Laboratory, Dept. of Industries, Government of West Bengal.\n\n
+ The college started with certificate and diploma courses in Ceramic Technology with six other different courses to train people for various ceramic industries in the eastern and other regions of India. Prof. Roy organized a commercial Training- cum- Production unit at the institute to provide employment through practical training to the students. He formulated many developmental schemes with their successful implementation and introduced the concept of self- employment in the institute to cope with the problem of growing unemployment in the country. He was the pioneer in India to manufacture bone chinawares using indigenous raw materials on commercial basis and glazed pottery, sanitary wares, tiles and low-tension insulators from Gangetic silt. His contribution to ceramic education and industry has gone for and near within India and round the globe.\n\n
+ In the year 1962, B. Sc (Tech.) degree course in Ceramic Technology under the University of Calcutta was introduced in the institute, which was then renamed as College of Ceramic Technology and was undertaken by the Govt. of West Bengal. At that time more emphasis was given on Traditional Ceramics. Traditional consists of pottery including materials, cement, etc. and traditional glasses for windows and containers/bottles including crystal glasses and of course the infamous optical glasses for our eyes and cameras.\n\n
+ Then came Dr. B. N. Samaddar as the Principal of the College, who was trained in MIT, USA. He brought a sophisticated touch of modern ceramics like Nuclear Ceramics, Space Ceramics, Electronic and Magnetic Ceramics, Bio-Ceramics, Piezoelectrics and Ferroelectrics by continuous enriching the courses with a strong emphasis on Materials Science.\n\n
+ This college has seen the addition of two new B.Tech courses in Information Technology and Computer Science and Engineering which was initiated under the West Bengal University of Technology in the year 2000 and 2001 as well as the M.Tech course in Ceramic Technology which was introduced in the year 2006. The B.Tech and M.Tech courses of Ceramic Technology and the B.Tech course in Information Technology has already been accredited by the National Board of Accreditation (NBA). The institute has also recently gained approval from AICTE to begin the M. Tech. course in Information Technology.
+ To cultivate excellence in various fields of engineering and technology by imparting core knowledge to the students and to transform the institution into a center of academic excellence and advanced research apart from producing skilled technologist.
+ To impart quality technical education that will produce globally competitive engineers and technologists.
+ To inculcate entrepreneurial skill and leadership quality amongst potential students.
+ To stress upon acquiring advanced knowledge and research acumen among faculties and students.
+ To create compassionate, responsible and innovative global citizen.
+ Nodal Information Officer : Mr. Jayanta Chowdhury \nGCECT \nMob # 9477239771 \nEmail : gcect.registrar@gmail.com
+
+ An educational institute is a place where young minds are nurtured in the best possible way, where their skills are developed in a specific field. A good foothold is therefore essential, and the Govt. College of Engineering and Ceramic Technology is such an institute, where students are given the best platform to exhibit their talents. We take this opportunity, to introduce ourselves, as one of the leading government engineering colleges under the Department of Higher Education in the eastern part of India.\n\n
+ From its humble beginning as the Bengal Ceramic Institute in 1942, renamed as the College of Ceramic Technology in 1962, and further renamed as the Govt. College of Engineering and Ceramic Technology in 2005, the college is entering the 80th glorious year of its academic life. It is indeed a time to celebrate, to introspect, to consolidate and to plan for its future. The uniqueness of this institute is that, it is the oldest institute for imparting technical education in Ceramic Science and Engineering, in the Eastern Part of India and the only institute offering a full fledged Undergraduate and Postgraduate course in Ceramic Technology in the state of West Bengal. This college has seen the addition of two new B.Tech courses in Information Technology and Computer Science and Engineering which was initiated under\n\n
+ the West Bengal University of Technology in the year 2000 and 2001 as well as the M.Tech course in Ceramic Technology which was introduced in the year 2006. The B.Tech and M.Tech courses of Ceramic Technology and the B.Tech course in Information Technology has already been accredited by the National Board of Accreditation (NBA).\n\n
+ The college has reached its magnificence under the admirable guidance and leadership of eminent academicians of international repute. The institute is presently headed by Prof.(Dr.) Saikat Maitra, under whose able guidance and leadership, the institute has been able to make commendable achievements.\n\n
+ The academic program of this institute presently comprises of the mentioned B.Tech courses which has an intake of 48 students each and M.Tech course with an intake of 18 students. The institute has recently gained approval from AICTE to begin the M. Tech. course in Information Technology with a sanctioned intake of 18 students. The institute can boast of well equipped workshop and laboratories, which is essential for the scheduled academic curriculum and research activities operational at the institute. Besides other departmental laboratories, special mention is needed for sophisticated and specialized labs developed such as the Thin Film lab, Nano-Materials and Sol-gel Lab of the Ceramic Department and VLSI, Image Processing, GIS and the Computer Vision Lab of the Information Technology department. Another feather in the cap is the addition of a most modern Language Lab for English Communication Skill and Personality Development as well as the EDUSAT lab with Virtual Learning capability of our students. It is worth mentioning that the entire campus is connected to the internet for 24 hours through NKN Leased Line (100 mbps) connectivity which is accessible from all computers in the institute.\n\n
+ The Institute has highly qualified faculty members where 35% of them are Doctorate Degree Holders. The rest are Post Graduate Degree holders out of which most of them are pursuing their Ph.D degrees. Over the last five years, the college has produced 5 Ph.Ds from both engineering and science departments. The faculty has contributed more than 100 research papers and presentations in Indian as well as International journals. Besides, several Research and Development projects sponsored by D.S.T, U.G.C, AICTE etc are running some of which have been successfully completed. All these accomplishments definitely prove that this institute is a ground for nurturing intellects.\n\n
+ The institute has also received grant from the World Bank in the TEQIP One Phase for various developmental projects. This grant has been spent for:
+
+ Development of Infrastructure.
+ New Laboratory equipments.
+ Maintenance and repair of old laboratory equipments.
+ Funding for research and lectures attended by faculty in foreign universities.
+ Aim towards community development and over all growth.
+ The Institute has collaborated with reputed institutions at national and international level for postgraduate, project and Ph.D programmes.The Petronus University of Malaysia, Northern University in Saudi Arabia, Curtin University in Australia, Jadavpur University, Calcutta University, Presidency University, CGCRI, Saha Institute of Nuclear Physics are the ones to name a few. The institute has undertaken different technical training programmes for the self employment of the unemployed youth under Services to the Community and Economy Scheme of World Bank funded Project TEQIP. The institute also promotes active students participation in NSS programme. It is also worth mentioning that college is about to get academic autonomy from the University Grants Commission and has already gained part financial autonomy after completing its TEQIP-1 phase.\n\n
+ The institute library can boast of more than 17,000 books as well as 15 or more National and International Journals covering various arenas of research and study.\n\n
+ The Institute is proud of its students who are amongst the top rankers in the West Bengal Joint Entrance Examination. The successful students to have qualified the GATE examination this year has been about 45% in the Ceramic department, 40% in Computer Science and Engg and about 25% in Information Technology departments. The final year students of Ceramic Technology has already undergone 100% recruitment in various renowned companies like Saint Gobain Glass, Jindal South West Steel., Essar Steel, Steel Authority of India., Grindwell Norton, MECON, Tata Refractories and more. The students of final year, IT and CSE departments have also been successful in getting through software giants such as TCS., Cognizant ,Wipro, Infosys, Tech. Mahindra, Accenture, Tata Elxsi and many more. Many of the students of this institute are pursuing higher studies in reputed national institutions like the IITs and NITs and many have gone abroad to Universities like Sheffield, University of Florida, University of Washington, Arizona State University, Drexel University (Pennsylvania), University of Cincinnati to name a few.\n\n
+ Over the years the college has grown and learnt to dream. It strives hard to become a “Centre of Excellence” in education which, in keeping with the rich heritage of India, will stress the simultaneous development of Body, Mind and Soul and endeavour to create compassionate, responsible and innovative global citizens who are commited to the development of India. These are the true objectives of the Institution. The development is still on.
+
+ Workshop Seminar
+ Welfare Association
+ About Us
+ Please allow all permission to Download
+ Download Complete
+ DownLoading...
+ DownLoad : %d
+ Error at page: %d
+ Placement Overview
+ Placement Cell
+ For Correspondence with Training and Placement Cell: gcect@rediffmail.com
+ OOPs!! Note Title can\'t be empty
+ HISTORY
+ Exam Schedules
+ CSI Student Chapter
+ VIEW LESS
+ VIEW MORE
+
+ \t 2370 1263, 2363 3674, 2363 3675
+ \t 2370 1264, 2363 36745
+ \t principal@gcect.ac.in , \n \t gcectwb@gmail.com
+ The B.Tech. course is duly approved by the All India Council for Technical Education (AICTE), Government of India and the Department of Higher Education, Government of West Bengal. The duration of study of this course is 4 years (8 semesters) and total intake in each discipline is 40+8 (lateral entry) students. The B.Tech course in Ceramic Technology is NBA accredited.
+ "The Institute has been offering a full time postgraduate course leading to M. Tech in Ceramic Technology since 2006. The sanctioned intake of students for the M.Tech course is 18.The M.Tech. course in Ceramic Technology is NBA accredited. "
+ This academic department offers guidance and facilites for Ph.D.programe. The Institute has collaborated with reputed institutions at national and international level for postgraduate, project and Ph.D programmes.The Petronus University of Malaysia, Northern University in Saudi Arabia, Curtin University in Australia, Jadavpur University, Calcutta University, Presidency University, CGCRI, Saha Institute of Nuclear Physics are the ones to name a few.
+
+ ADMINISTRATION
+ KEY ADMINISTRATION
+ Principal: Prof.(Dr) Krishnendu Chakrabarty
+ Registrar:\nShri Jayanta Choudhury
+ Accounts Officer:\nShri Kanti Kamal Sen
+ GOVERNING BODY
+ Prof. Binay K. Dutta, Chariman, West Bengal Pollution Control Board – Chairman
+ Accounts Officer:\n Shri Kanti Kamal Sen
+ Registrar:\n Shri Jayanta Choudhury
+
+
+ GCECT
+ Downloading...
+ GCECT
+ all_notifications
+ General Notifications
+ This is default channel used for all other notifications
+
+
+
+ The institute has recently gained approval from AICTE and affiliation from the West Bengal University of Technology (WBUT) to begin the M. Tech. course in Information Technology from session 2012. The sanctioned intake is of 18 students per batch.
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index ad680b0..bba2043 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -12,5 +12,6 @@
?attr/colorPrimaryVariant
+ true
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 431e95e..4bcae99 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,8 +5,8 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.0.4'
- classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0'
+ classpath 'com.android.tools.build:gradle:7.1.2'
+ classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10'
classpath 'com.google.gms:google-services:4.3.10'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ad4fb85..7b1e4fb 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Dec 03 12:55:01 IST 2021
+#Fri Mar 18 15:41:28 IST 2022
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME