diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
new file mode 100644
index 0000000..ae33e23
--- /dev/null
+++ b/.github/workflows/android.yml
@@ -0,0 +1,67 @@
+name: Android CI
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: set up JDK 11
+ uses: actions/setup-java@v2
+ with:
+ java-version: '11'
+ distribution: 'adopt'
+ cache: gradle
+
+ - name: Java version print
+ run: echo 'java-version'
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+ - name: Build with Gradle
+ run: ./gradlew build --stacktrace --warning-mode=all
+
+ apk:
+ name: Generate APK
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+ - name: Setup JDK
+ uses: actions/setup-java@v1
+ with:
+ java-version: 1.8
+ - name: Build APK
+ run: bash ./gradlew assembleDebug --stacktrace
+ - name: Upload APK
+ uses: actions/upload-artifact@v1
+ with:
+ name: apk
+ path: app/build/outputs/apk/debug/app-debug.apk
+
+ - name: Send mail
+ if: always()
+ uses: dawidd6/action-send-mail@v2
+ with:
+ # mail server settings
+ server_address: smtp.gmail.com
+ server_port: 465
+ # user credentials
+ username: ${{ secrets.EMAIL_USERNAME }}
+ password: ${{ secrets.EMAIL_PASSWORD }}
+ # email subject
+ subject: ${{ github.job }} job of ${{ github.repository }} has ${{ job.status }}
+ # email body as text
+ body: ${{ github.job }} job in worflow ${{ github.workflow }} of ${{ github.repository }} has ${{ job.status }}
+ # comma-separated string, send email to
+ to: spacece_web_dev@spacece.co, spacece-web-test@spacece.co
+ # from email name
+ from: SpacECE Technology Team
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 64bed12..8a643af 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -94,6 +94,7 @@
+
@@ -122,6 +123,7 @@
+
@@ -143,11 +145,12 @@
-
+
+
@@ -158,6 +161,8 @@
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 87004b7..e97ee7b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,7 +4,7 @@ plugins {
}
android {
- compileSdk 30
+ compileSdk 31
defaultConfig {
applicationId "com.spacECE.spaceceedu"
@@ -33,28 +33,29 @@ android {
dependencies {
- implementation 'androidx.appcompat:appcompat:1.3.1'
+ implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'com.google.android.material:material:1.4.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
- implementation 'androidx.annotation:annotation:1.2.0'
- implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
- implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
+ implementation 'androidx.annotation:annotation:1.3.0'
+ implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
+ implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'com.google.firebase:firebase-messaging:22.0.0'
+ implementation 'com.google.firebase:firebase-messaging:23.0.0'
implementation 'androidx.navigation:navigation-fragment:2.3.5'
implementation 'androidx.navigation:navigation-ui:2.3.5'
- testImplementation 'junit:junit:4.+'
+ implementation 'androidx.compose.animation:animation-core:1.1.0-rc01'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
- implementation 'com.google.android.gms:play-services-auth:19.2.0'
+ implementation 'com.google.android.gms:play-services-auth:20.0.1'
implementation 'androidx.cardview:cardview:1.0.0'
- implementation 'androidx.appcompat:appcompat:1.2.0'
- implementation 'com.google.android.material:material:1.2.1'
+ implementation 'androidx.appcompat:appcompat:1.4.0'
+ implementation 'com.google.android.material:material:1.4.0'
implementation 'com.squareup.picasso:picasso:2.71828'
- implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
- implementation 'com.synnapps:carouselview:0.1.5'
+ implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:11.0.1'
implementation 'androidx.drawerlayout:drawerlayout:1.1.1'
+ implementation 'com.synnapps:carouselview:0.1.5'
//
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
@@ -65,6 +66,8 @@ dependencies {
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
- implementation 'io.agora.rtc:full-sdk:3.2.1'
+ implementation 'io.agora.rtc:full-sdk:3.6.0.1'
+
+ implementation 'com.wdullaer:materialdatetimepicker:4.2.3'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ffbcacb..e1837a3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -37,8 +37,9 @@
-
+
+
@@ -72,6 +73,8 @@
android:name=".ActivityDetailsActivity"
android:exported="true" />
+
+
@@ -88,10 +91,7 @@
android:name=".Authentication.LoginActivity"
android:exported="true" />
-
();
- try {
- for (int i = 0; i < jsonArray.length(); i++) {
- ConsultantCategory newCategory = new ConsultantCategory((String) jsonArray.get(i), "nice");
- Consultant_Main.categoryList.add(newCategory);
- }
-
- } catch (JSONException e) {
- e.printStackTrace();
- }
-
+ CreateArrayOfCategories(jsonArray);
Intent intent = new Intent(ConsultUs_SplashScreen.this, Consultant_Main.class);
startActivity(intent);
@@ -99,4 +89,17 @@ public void onClick(DialogInterface dialog, int which) {
thread.start();
}
+
+ static void CreateArrayOfCategories(JSONArray jsonArray) {
+ Consultant_Main.categoryList = new ArrayList<>();
+ try {
+ for (int i = 0; i < jsonArray.length(); i++) {
+ ConsultantCategory newCategory = new ConsultantCategory((String) jsonArray.get(i), "nice");
+ Consultant_Main.categoryList.add(newCategory);
+ }
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant.java
index 22852df..9c655dd 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant.java
@@ -1,13 +1,13 @@
package com.spacECE.spaceceedu.ConsultUS;
public class Consultant {
- private String name,consultant_id,profilePic_src,categories,address,language,timing_start,timing_end,qualification;
+ private String name,consultant_id,profilePic_src,categories,address,language,timing_start,timing_end,available_days,qualification;
private String price;
//TODO in this class days on which consultant is available is missing and needs to implemented from the server side and proper string array to be added.
public Consultant(String name, String consultant_id, String profilePic_src, String categories
- , String address, String language, String timing_start, String timing_end,
+ , String address, String language, String timing_start, String timing_end, String available_days,
String qualification, String price) {
this.name = name;
this.consultant_id = consultant_id;
@@ -17,6 +17,7 @@ public Consultant(String name, String consultant_id, String profilePic_src, Stri
this.language = language;
this.timing_start = timing_start;
this.timing_end = timing_end;
+ this.available_days = available_days;
this.qualification = qualification;
this.price = price;
}
@@ -57,7 +58,12 @@ public String getTiming_end() {
return timing_end;
}
+ public String getAvailable_days() {
+ return available_days;
+ }
+
public String getPrice() {
return price;
}
+
}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantProfile.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantProfile.java
index 036bd56..7f7a4e3 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantProfile.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantProfile.java
@@ -22,6 +22,15 @@ public class ConsultantProfile extends AppCompatActivity {
ImageView iv_profilePic;
private TextView tv_name,tv_speciality,tv_chambers,tv_charges,tv_timing,tv_language,tv_days,tv_qualification;
+
+ @Override
+ protected void onPostResume() {
+ super.onPostResume();
+ if(ACCOUNT!=null) {
+ b_appointment.setText("Book Appointment!");
+ }
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -39,6 +48,10 @@ protected void onCreate(Bundle savedInstanceState) {
b_appointment = findViewById(R.id.Consultant_Profile_Button_GetAppointment);
+ if(ACCOUNT==null) {
+ b_appointment.setText("Login to Book!");
+ }
+
String name = "No name";
String consultant_id = "Consultant ID missing";
String speciality = "None";
@@ -46,8 +59,7 @@ protected void onCreate(Bundle savedInstanceState) {
String fee="Free";
String qualification="None";
String language="All";
- String days_from="Any";
- String days_to="Any";
+ String available_days="";
String timing_to="All";
String timing_from="All";
String pic_src = "https://img.favpng.com/11/24/17/management-consulting-consulting-firm-consultant-business-png-favpng-jkyKzuQ3UyL0wXXCBcvk4c1fu.jpg";
@@ -64,6 +76,7 @@ protected void onCreate(Bundle savedInstanceState) {
speciality = extras.getString("speciality");
timing_from=extras.getString("timing_from");
timing_to=extras.getString("timing_to");
+ available_days=extras.getString("available_days");
qualification=extras.getString("qualification");
pic_src = extras.getString("profile_pic");
}
@@ -76,7 +89,7 @@ protected void onCreate(Bundle savedInstanceState) {
tv_charges.setText(fee+" /-");
tv_timing.setText(timing_from.substring(0,5)+" - "+timing_to.substring(0,5));
tv_language.setText(language);
- tv_days.setText(String.valueOf(days_from.charAt(0))+days_from.charAt(1)+days_from.charAt(2)+" - "+days_to.charAt(0)+days_to.charAt(1)+days_to.charAt(2));
+ tv_days.setText(available_days);
try {
pic_src = "https://spacefoundation.in/test/SpacECE-PHP/img/users/" + pic_src;
@@ -90,13 +103,10 @@ protected void onCreate(Bundle savedInstanceState) {
String finalName = name;
String finalFee = fee;
String finalSpeciality = speciality;
+ String finalAvailable_days = available_days;
String finalTiming_from = timing_from;
String finalTiming_to = timing_to;
- if(ACCOUNT==null) {
- b_appointment.setText("Login to Book!");
- }
-
b_appointment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -111,6 +121,7 @@ public void onClick(View view) {
intent.putExtra("consultant_name", finalName);
intent.putExtra("speciality", finalSpeciality);
intent.putExtra("fee", finalFee);
+ intent.putExtra("available_days", finalAvailable_days);
intent.putExtra("startTime", finalTiming_from);
intent.putExtra("endTime", finalTiming_to);
}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_AppointmentConfirmation.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_AppointmentConfirmation.java
index 8a1baee..003576a 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_AppointmentConfirmation.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_AppointmentConfirmation.java
@@ -1,6 +1,9 @@
package com.spacECE.spaceceedu.ConsultUS;
+import android.app.AlarmManager;
+import android.app.PendingIntent;
import android.content.Intent;
+import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
@@ -10,6 +13,12 @@
import com.spacECE.spaceceedu.MainActivity;
import com.spacECE.spaceceedu.R;
+import com.spacECE.spaceceedu.Utils.Notification;
+import com.spacECE.spaceceedu.Utils.UsefulFunctions;
+
+import java.text.ParseException;
+import java.util.Calendar;
+import java.util.Date;
public class Consultant_AppointmentConfirmation extends AppCompatActivity {
@@ -26,32 +35,31 @@ protected void onCreate(Bundle savedInstanceState) {
BookedOn = findViewById(R.id.BookedOn);
Home = findViewById(R.id.BookingtoHome);
-
- //TODO display the details of booking api still not working on the server side.
-// Intent intent = new Intent(Consultant_Main.this, Notification.class);
-// PendingIntent pendingIntent = PendingIntent.getBroadcast(Consultant_Main.this,
-// Integer.parseInt(response_element.getString("booking_id")), intent, 0);
-// AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
-// Date date = new Date();
-// Calendar calendar = Calendar.getInstance();
-// try {
-// date = UsefulFunctions.DateFunc.StringToDate(response_element.getString("b_time"));
-// } catch (ParseException e) {
-// e.printStackTrace();
-// }
-// calendar.setTime(date);
-// Log.d("Notification", "sendNotification: "+calendar.getTime());
-// alarmManager.set(AlarmManager.RTC_WAKEUP,
-// calendar.getTimeInMillis()-1000*60*10, pendingIntent);
-
-
-// Bundle extra = getIntent().getExtras();
-// bookingId = extra.getString("bookingId");
-// bookedOn = extra.getString("bookedOn");
-// duration = extra.getString("duration");
-//
-// BookingId.setText("Order ID : "+bookingId);
-// BookedOn.setText("Booked On "+bookedOn+"for "+duration+"minutes");
+ Intent dataintent = getIntent();
+
+ bookingId = dataintent.getStringExtra("bookingId");
+ bookedOn = dataintent.getStringExtra("bookedOn");
+ duration = String.valueOf(dataintent.getIntExtra("time", 0));
+
+ Intent intent = new Intent(Consultant_AppointmentConfirmation.this, Notification.class);
+ PendingIntent pendingIntent = PendingIntent.getBroadcast(Consultant_AppointmentConfirmation.this,
+ Integer.parseInt(bookingId), intent, 0);
+ AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
+ Date date = new Date();
+ Calendar calendar = Calendar.getInstance();
+ try {
+ date = UsefulFunctions.DateFunc.StringToDate(bookedOn);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ calendar.setTime(date);
+ Log.d("Notification", "sendNotification: "+calendar.getTime());
+ alarmManager.set(AlarmManager.RTC_WAKEUP,
+ calendar.getTimeInMillis()-1000*60*10, pendingIntent);
+
+
+ BookingId.setText("Order ID : "+bookingId);
+ BookedOn.setText("Booked On "+bookedOn+" for "+duration+" minutes");
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_GetAppointment.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_GetAppointment.java
index abd1f22..cfa1eff 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_GetAppointment.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_GetAppointment.java
@@ -1,10 +1,9 @@
package com.spacECE.spaceceedu.ConsultUS;
-import android.app.DatePickerDialog;
-import android.app.TimePickerDialog;
+
import android.content.Intent;
-import android.icu.util.Calendar;
import android.os.Build;
+import android.os.Parcel;
import android.util.Log;
import android.widget.*;
import androidx.appcompat.app.AppCompatActivity;
@@ -12,11 +11,19 @@
import android.os.Bundle;
import android.view.View;
+import com.google.android.material.datepicker.CalendarConstraints;
+import com.google.android.material.datepicker.MaterialDatePicker;
+import com.google.android.material.datepicker.MaterialPickerOnPositiveButtonClickListener;
+import com.google.android.material.timepicker.MaterialTimePicker;
+import com.google.android.material.timepicker.TimeFormat;
import com.instamojo.android.Instamojo;
import com.spacECE.spaceceedu.MainActivity;
import com.spacECE.spaceceedu.R;
import com.spacECE.spaceceedu.Utils.UsefulFunctions;
import com.squareup.picasso.Picasso;
+import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
+import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;
+import com.wdullaer.materialdatetimepicker.time.Timepoint;
import okhttp3.*;
import org.jetbrains.annotations.NotNull;
import org.json.JSONException;
@@ -24,9 +31,10 @@
import java.io.IOException;
import java.text.ParseException;
-import java.util.Date;
+import java.util.*;
import static com.spacECE.spaceceedu.LearnOnApp.LearnOn_List_RecycleAdapter.orderID;
+import static com.spacECE.spaceceedu.Utils.UsefulFunctions.DateFunc.StringToTime;
import static java.lang.String.*;
import static java.lang.String.format;
@@ -37,11 +45,11 @@ public class Consultant_GetAppointment extends AppCompatActivity implements Inst
String speciality = "None";
String fee="Free";
String pic_src;
+ String available_days="";
String timing_from= "";
String timing_to = "";
String date, time;
- int mYear, mMonth, mDay, mHour, mMinute;
private TextView tv_date,tv_time;
private TextView tv_confirmation,tv_name,tv_speciality,tv_charges;
@@ -54,6 +62,7 @@ public class Consultant_GetAppointment extends AppCompatActivity implements Inst
private Boolean Time_picked = false;
private String BOOKING_DAY, BOOKING_TIME;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -74,6 +83,7 @@ protected void onCreate(Bundle savedInstanceState) {
consultant_id = extras.getString("consultant_id");
speciality = extras.getString("speciality");
pic_src=extras.getString("profile_pic");
+ available_days=extras.getString("available_days");
timing_from = extras.getString("startTime");
timing_to = extras.getString("endTime");
@@ -131,12 +141,11 @@ public void onClick(View v) {
b_confPay.setOnClickListener(view -> {
if(Date_picked & Time_picked & Duration>0){
- //tv_confirmation.setText(BOOKING_DAY+BOOKING_TIME);
try {
if(validTime(timing_from, timing_to, BOOKING_TIME)){
- tv_confirmation.setText("Appointment booked on " + date + time);
- Instamojo.getInstance().initialize(this, Instamojo.Environment.TEST);
- Instamojo.getInstance().initiatePayment(this, orderID, this);
+ tv_confirmation.setText("Confirm Appointment on " + date + time);
+// Instamojo.getInstance().initialize(this, Instamojo.Environment.TEST);
+// Instamojo.getInstance().initiatePayment(this, orderID, this);
//now book appointment in on payment success class
BookAppointment();
} else {
@@ -155,24 +164,17 @@ public void onClick(View v) {
}
private void datePicker(){
- //date picker
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- Calendar c = Calendar.getInstance();
- mYear = c.get(Calendar.YEAR);
- mMonth = c.get(Calendar.MONTH);
- mDay = c.get(Calendar.DAY_OF_MONTH);
- mHour = c.get(Calendar.HOUR_OF_DAY);
- mMinute = c.get(Calendar.MINUTE);
- }
+ //date picker
+ Calendar[] ddd = AvailableDays(EncodeAvailableDays(available_days));
- DatePickerDialog datePickerDialog = new DatePickerDialog(this,
+ DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
new DatePickerDialog.OnDateSetListener() {
@Override
- public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) {
- Date_picked =true; //to mark date is pciked
+ public void onDateSet(DatePickerDialog view, int year,int monthOfYear, int dayOfMonth) {
+ Date_picked =true; //to mark date is picked
date = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year + " ";
- BOOKING_DAY = format("%04d:%02d:%02d ", year, (monthOfYear+1), dayOfMonth);
+ BOOKING_DAY = format("%04d-%02d-%02d", year, (monthOfYear+1), dayOfMonth);
calendar.setText(date);
if(!Time_picked){ //is time is not picked before launch time picker
@@ -180,32 +182,111 @@ public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth)
}
DateAndTimePicked(); //checks if time falls between the consultant range
}
- }, mYear, mMonth, mDay);
- datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
- datePickerDialog.show();
+ }, ddd[0].get(Calendar.YEAR), ddd[0].get(Calendar.MONTH), ddd[0].get(Calendar.DATE));
+
+ Calendar abc = Calendar.getInstance();
+ datePickerDialog.setMinDate(abc);
+ abc.add(Calendar.DATE, 30);
+ datePickerDialog.setMaxDate(abc);
+ datePickerDialog.setDisabledDays(ddd);
+ datePickerDialog.show(getSupportFragmentManager(), "hello1");
+
+ }
+
+ private ArrayList EncodeAvailableDays(String AvailableDays) {
+ String Days[] = AvailableDays.split(",");
+ ArrayList wording = new ArrayList<>();
+
+ for (int i = 0; i < Days.length; i++) {
+ if(Days[i].equals("Monday"))
+ wording.add(2);
+ if(Days[i].equals("Tuesday"))
+ wording.add(3);
+ if(Days[i].equals("Wednesday"))
+ wording.add(4);
+ if(Days[i].equals("Thursday"))
+ wording.add(5);
+ if(Days[i].equals("Friday"))
+ wording.add(6);
+ if(Days[i].equals("Saturday"))
+ wording.add(7);
+ if(Days[i].equals("Sunday"))
+ wording.add(1);
+ }
+ return wording;
}
- private void timePicker(){
+ private Calendar[] AvailableDays(ArrayList AvailableDaysEncoded) {
+
+ ArrayList DaysAvailable = new ArrayList<>();
+ Calendar[] ddd = {};
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ Calendar today = Calendar.getInstance();
+ for (int i = 0; i < 30; i++) {
+ if(!AvailableDaysEncoded.contains(today.get(Calendar.DAY_OF_WEEK))) {
+ DaysAvailable.add((Calendar) today.clone());
+ }
+ today.add(Calendar.DATE, 1);
+ }
+
+ ddd = new Calendar[DaysAvailable.size()];
+
+ for (int i = 0; i < DaysAvailable.size(); i++) {
+ ddd[i] = (Calendar) DaysAvailable.get(i).clone();
+ }
+ return ddd;
+ }
+ return ddd;
+ }
+
+
+
+
+ private void timePicker() {
- TimePickerDialog timePickerDialog = new TimePickerDialog(this,
+ Date MinTime = null;
+ try {
+ MinTime = UsefulFunctions.DateFunc.StringToTime(timing_from);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ TimePickerDialog timePickerDialog = TimePickerDialog.newInstance(
new TimePickerDialog.OnTimeSetListener() {
@Override
- public void onTimeSet(TimePicker view, int hourOfDay,int minute) {
+ public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int second) {
Time_picked = true; //same as above
- mHour = hourOfDay;
- mMinute = minute;
time = format("%02d:%02d", hourOfDay, minute);
BOOKING_TIME = format("%02d:%02d:00", hourOfDay, minute);
clock.setText(time);
- if(!Date_picked) { //same as above
+ if (!Date_picked) { //same as above
datePicker();
}
DateAndTimePicked(); //same as above
}
- }, mHour, mMinute, false);
- timePickerDialog.show();
+ }, MinTime.getHours(), MinTime.getMinutes(), false);
+
+ try {
+
+ MinTime = UsefulFunctions.DateFunc.StringToTime(timing_from);
+ Timepoint minTime = new Timepoint(MinTime.getHours(),
+ MinTime.getMinutes()+1, MinTime.getSeconds());
+ Date MaxTime = UsefulFunctions.DateFunc.StringToTime(timing_to);
+ Timepoint maxTime = new Timepoint(MaxTime.getHours(),
+ MaxTime.getMinutes()-1, MaxTime.getSeconds());
+
+ timePickerDialog.setMinTime(minTime);
+ timePickerDialog.setMaxTime(maxTime);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ timePickerDialog.show(getSupportFragmentManager(), "hello");
+
+
}
@Override
@@ -228,9 +309,9 @@ private void DateAndTimePicked() {
}
private boolean validTime(String start, String end, String to_check) throws ParseException {
- Date Start = UsefulFunctions.DateFunc.StringToTime(start);
- Date End = UsefulFunctions.DateFunc.StringToTime(end);
- Date To_Check = UsefulFunctions.DateFunc.StringToTime(to_check);
+ Date Start = StringToTime(start);
+ Date End = StringToTime(end);
+ Date To_Check = StringToTime(to_check);
return (To_Check.before(End) & To_Check.after(Start));
@@ -252,7 +333,8 @@ public void run() {
RequestBody fromBody = new FormBody.Builder()
.add("u_id", MainActivity.ACCOUNT.getAccount_id())
.add("c_id", consultant_id)
- .add("b_time", BOOKING_DAY + BOOKING_TIME)
+ .add("time", BOOKING_TIME)
+ .add("b_date", BOOKING_DAY)
.add("end_time", valueOf(Duration))
.build();
@@ -264,40 +346,65 @@ public void run() {
Call call = client.newCall(request);
call.enqueue(new Callback() {
- @Override
- public void onFailure(@NotNull Call call, @NotNull IOException e) {
- System.out.println("Registration Error ApI " + e.getMessage());
- }
-
- @Override
- public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
-
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- try {
- System.out.println(response.body().string());
- jsonObject = new JSONObject(response.body().string());
- System.out.println(jsonObject);
- if(jsonObject.getString("status").equals("success")){
- Toast.makeText(Consultant_GetAppointment.this,"Booking Confirmed",
- Toast.LENGTH_LONG).show();
- startActivity(new Intent(getApplicationContext(), Consultant_AppointmentConfirmation.class));
- finishAffinity();
- } else {
- Toast.makeText(Consultant_GetAppointment.this,"Booking Failed",
- Toast.LENGTH_LONG).show();
- }
- } catch (JSONException | IOException e) {
- e.printStackTrace();
- }
- }
- });
- }
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ System.out.println("Registration Error ApI " + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+
+ String data = response.body().string();
+ try {
+ jsonObject = new JSONObject(data);
+ System.out.println(jsonObject);
+
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ if(jsonObject.getString("status").equals("success")){
+ Toast.makeText(Consultant_GetAppointment.this,"Booking Confirmed",
+ Toast.LENGTH_LONG).show();
+
+ Intent intent = new Intent(getApplicationContext(), Consultant_AppointmentConfirmation.class);
+ intent.putExtra("bookingId", jsonObject.getString("Booking id"));
+ intent.putExtra("bookedOn", jsonObject.getString("b_date") +
+ " "+ jsonObject.getString("booking_time"));
+ intent.putExtra("time", Duration);
+
+ startActivity(intent);
+ finishAffinity();
+ } else if(jsonObject.getString("status").equals("fail")) {
+ Toast.makeText(Consultant_GetAppointment.this,"Booking Failed, Try another time",
+ Toast.LENGTH_LONG).show();
+ }
+ else {
+ Toast.makeText(Consultant_GetAppointment.this,"Booking Failed, Try Later",
+ Toast.LENGTH_LONG).show();
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
});
}
}).start();
+
+
+
+//
+
+
+
}
@Override
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_Main.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_Main.java
index 0207f95..79a5b71 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_Main.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Consultant_Main.java
@@ -2,6 +2,7 @@
import android.app.AlarmManager;
import android.app.PendingIntent;
+import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
@@ -33,6 +34,8 @@
public class Consultant_Main extends AppCompatActivity {
+
+
public static ArrayList categoryList = new ArrayList<>();
NavigationBarView.OnItemSelectedListener navListener =
new NavigationBarView.OnItemSelectedListener() {
@@ -67,16 +70,16 @@ protected void onCreate(Bundle savedInstanceState) {
bottomNav.setOnItemSelectedListener(navListener);
//generated the list based on user type and expanded the fragments accordingly
- if(MainActivity.ACCOUNT!=null){
+ if(MainActivity.ACCOUNT!=null) {
if (MainActivity.ACCOUNT.isCONSULTANT()) {
bottomNav.inflateMenu(R.menu.consultant_main_consultants_bottomnav);
- generateAppointmentsListForUser();
- generateAppointmentsListForConsultant();
+ generateAppointmentsListForUser(getApplicationContext(), MainActivity.ACCOUNT.getAccount_id());
+ generateAppointmentsListForConsultant(getApplicationContext(), MainActivity.ACCOUNT.getAccount_id());
} else {
bottomNav.inflateMenu(R.menu.consultant_main_user_bottomnav);
- generateAppointmentsListForUser();
+ generateAppointmentsListForUser(getApplicationContext(), MainActivity.ACCOUNT.getAccount_id());
}
- }else{
+ }else {
bottomNav.inflateMenu(R.menu.consultant_main_nouser_bottomnav);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().replace(R.id.ConsultantMain_Frame,
@@ -87,7 +90,7 @@ protected void onCreate(Bundle savedInstanceState) {
new Fragment_Consultant_Categories()).commit();
}
- private void generateAppointmentsListForUser() {
+ public static void generateAppointmentsListForUser(Context context, String id) {
new Thread(new Runnable() {
@@ -100,7 +103,7 @@ private void generateAppointmentsListForUser() {
public void run() {
OkHttpClient client = new OkHttpClient();
RequestBody fromBody = new FormBody.Builder()
- .add("u_id", MainActivity.ACCOUNT.getAccount_id())
+ .add("u_id", id)
.build();
Request request = new Request.Builder()
@@ -132,30 +135,7 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
try {
for (int i = 0; i < jsonArray.length(); i++) {
- JSONObject response_element = new JSONObject(String.valueOf(jsonArray.getJSONObject(i)));
-
- Appointment newAppointment = new Appointment(response_element.getString("c_id"), response_element.getString("c_name"), response_element.getString("u_name")
- , response_element.getString("c_image"), response_element.getString("u_image"), response_element.getString("b_time")
- , response_element.getString("end_time"));
-
-
- Intent intent = new Intent(Consultant_Main.this, Notification.class);
- PendingIntent pendingIntent = PendingIntent.getBroadcast(Consultant_Main.this,
- Integer.parseInt(response_element.getString("booking_id")), intent, 0);
- AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
- Date date = new Date();
- Calendar calendar = Calendar.getInstance();
- try {
- date = UsefulFunctions.DateFunc.StringToDate(response_element.getString("b_time"));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- calendar.setTime(date);
- Log.d("Notification", "sendNotification: "+calendar.getTime());
- alarmManager.set(AlarmManager.RTC_WAKEUP,
- calendar.getTimeInMillis()-1000*60*10, pendingIntent);
-
- Fragment_Appointments_For_User.appointmentsArrayList.add(newAppointment);
+ Fragment_Appointments_For_User.appointmentsArrayList.add(UpdatingAppointmentAndNotification(i, jsonArray, context));
}
Log.i("Appointments_For_User:::::", Fragment_Appointments_For_User.appointmentsArrayList.toString());
@@ -173,7 +153,7 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
}).start();
}
- private void generateAppointmentsListForConsultant() {
+ public static void generateAppointmentsListForConsultant(Context context, String id) {
new Thread(new Runnable() {
@@ -186,7 +166,7 @@ private void generateAppointmentsListForConsultant() {
public void run() {
OkHttpClient client = new OkHttpClient();
RequestBody fromBody = new FormBody.Builder()
- .add("c_id", MainActivity.ACCOUNT.getAccount_id())
+ .add("c_id", id)
.build();
Request request = new Request.Builder()
@@ -219,31 +199,7 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
try {
for (int i = 0; i < jsonArray.length(); i++) {
- JSONObject response_element = new JSONObject(String.valueOf(jsonArray.getJSONObject(i)));
-
- Appointment newAppointment = new Appointment(response_element.getString("c_id"), response_element.getString("c_name"), response_element.getString("u_name")
- , response_element.getString("c_image"), response_element.getString("u_image"), response_element.getString("b_time")
- , response_element.getString("end_time"));
-
-
- Intent intent = new Intent(Consultant_Main.this, Notification.class);
- PendingIntent pendingIntent = PendingIntent.getBroadcast(Consultant_Main.this,
- Integer.parseInt(response_element.getString("booking_id")), intent, 0);
- AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
- Date date = new Date();
- Calendar calendar = Calendar.getInstance();
- try {
- date = UsefulFunctions.DateFunc.StringToDate(response_element.getString("b_time"));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- calendar.setTime(date);
- Log.d("Notification", "sendNotification: "+calendar.getTime());
- alarmManager.set(AlarmManager.RTC_WAKEUP,
- calendar.getTimeInMillis()-1000*60*10, pendingIntent);
-
-
- Fragment_Appointments_For_Consultants.appointmentsArrayList.add(newAppointment);
+ Fragment_Appointments_For_Consultants.appointmentsArrayList.add(UpdatingAppointmentAndNotification(i, jsonArray, context));
}
Log.i("Appointments_For_Consultant:::::", Fragment_Appointments_For_Consultants.appointmentsArrayList.toString());
@@ -261,6 +217,33 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
}).start();
}
+ private static Appointment UpdatingAppointmentAndNotification(int i, JSONArray jsonArray, Context context) throws JSONException {
+ JSONObject response_element = new JSONObject(String.valueOf(jsonArray.getJSONObject(i)));
+
+ Appointment newAppointment = new Appointment(response_element.getString("c_id"), response_element.getString("c_name"), response_element.getString("u_name")
+ , response_element.getString("c_image"), response_element.getString("u_image"), response_element.getString("b_datetime")
+ , response_element.getString("end_time"));
+
+
+ Intent intent = new Intent(context, Notification.class);
+ PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
+ Integer.parseInt(response_element.getString("booking_id")), intent, 0);
+ AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
+ Date date = new Date();
+ Calendar calendar = Calendar.getInstance();
+ try {
+ date = UsefulFunctions.DateFunc.StringToDate(response_element.getString("b_datetime"));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ calendar.setTime(date);
+ Log.d("Notification", "sendNotification: "+calendar.getTime());
+ alarmManager.set(AlarmManager.RTC_WAKEUP,
+ calendar.getTimeInMillis()-1000*60*10, pendingIntent);
+
+ return newAppointment;
+ }
+
public static void SetDateTimeDay(int position, ArrayList myConsultants, TextView date, TextView time, TextView day) {
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantsLibrary.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantsLibrary.java
index a892908..54e2615 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantsLibrary.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/ConsultantsLibrary.java
@@ -56,6 +56,7 @@ public void onClick(View v, int position) {
intent.putExtra("language", consultantsList.get(position).getLanguage());
intent.putExtra("timing_to", consultantsList.get(position).getTiming_end());
intent.putExtra("timing_from", consultantsList.get(position).getTiming_start());
+ intent.putExtra("available_days", consultantsList.get(position).getAvailable_days());
intent.putExtra("qualification", consultantsList.get(position).getQualification());
intent.putExtra("profilePic", consultantsList.get(position).getProfilePic_src());
startActivity(intent);
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_Consultants.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_Consultants.java
index 167d01c..491a191 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_Consultants.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_Consultants.java
@@ -31,10 +31,11 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View v= inflater.inflate(R.layout.fragment_consultus_appointments_for_consultant, container, false);
+// Consultant_Main.generateAppointmentsListForConsultant(getContext());
+ View v= inflater.inflate(R.layout.fragment_consultus_appointments_for_consultant,
+ container, false);
recyclerView=v.findViewById(R.id.Appointments_For_Consultant_RecyclerView);
-
setAdapter(appointmentsArrayList);
return v;
}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_User.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_User.java
index 8da714c..7abc56d 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_User.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Appointments_For_User.java
@@ -34,11 +34,11 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
+
// Inflate the layout for this fragment
+// Consultant_Main.generateAppointmentsListForUser(getContext());
View v = inflater.inflate(R.layout.fragment_consultus_appointments_for_user, container, false);
-
recyclerView = v.findViewById(R.id.Appointments_For_Users_RecyclerView);
-
if(MainActivity.ACCOUNT!=null){
TextView tv_l=v.findViewById(R.id.MyC_Login);
tv_l.setVisibility(View.INVISIBLE);
@@ -48,6 +48,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
}
private void setAdapter(ArrayList list) {
+
Log.i("SetAdapter:", "Working");
setOnClickListener();
Appointments_For_User_RecyclerViewAdapter adapter = new Appointments_For_User_RecyclerViewAdapter(list, listener);
diff --git a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Consultant_Categories.java b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Consultant_Categories.java
index fe4cbaf..660b726 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Consultant_Categories.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/ConsultUS/Fragment_Consultant_Categories.java
@@ -43,6 +43,7 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
+
View v = inflater.inflate(R.layout.fragment_consultant__categories, container, false);
Log.i("Categories", "Initiated");
@@ -113,8 +114,8 @@ public void getList(String category) {
response_element.getString("u_id"), response_element.getString("image"),
response_element.getString("cat_name"), response_element.getString("c_office"),
response_element.getString("c_language"), response_element.getString("c_from_time"),
- response_element.getString("c_to_time"), response_element.getString("c_qualification"),
- response_element.getString("c_fee"));
+ response_element.getString("c_to_time"), response_element.getString("c_aval_days"),
+ response_element.getString("c_qualification"), response_element.getString("c_fee"));
ConsultantsLibrary.consultantsList.add(consultant);
}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/FragmentMain.java b/app/src/main/java/com/spacECE/spaceceedu/FragmentMain.java
index ba7effd..6a74993 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/FragmentMain.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/FragmentMain.java
@@ -11,12 +11,13 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
+import androidx.constraintlayout.helper.widget.Carousel;
import androidx.fragment.app.Fragment;
import com.spacECE.spaceceedu.Authentication.Account;
import com.spacECE.spaceceedu.ConsultUS.ConsultUs_SplashScreen;
import com.spacECE.spaceceedu.LearnOnApp.LearnOn_List_SplashScreen;
-import com.spacECE.spaceceedu.LibForSmall.Library_main;
+import com.spacECE.spaceceedu.LibForSmall.LibForSmall_SplashScreen;
import com.spacECE.spaceceedu.VideoLibrary.VideoLibrary_Activity_SplashScreen;
import com.synnapps.carouselview.CarouselView;
import com.synnapps.carouselview.ImageListener;
@@ -44,8 +45,13 @@ public class FragmentMain extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v= inflater.inflate(R.layout.fragment_main,container,false);
+
+ //old
+
CarouselView carouselView = v.findViewById(R.id.MainFragement_NewsCarousel);
+
carouselView.setPageCount(mImages.length);
+
carouselView.setImageListener(new ImageListener() {
@Override
public void setImageForPosition(int position, ImageView imageView) {
@@ -53,6 +59,33 @@ public void setImageForPosition(int position, ImageView imageView) {
}
});
+ //new
+
+ Carousel carousel = v.findViewById(R.id.carousel);
+
+ carousel.setAdapter(new Carousel.Adapter() {
+
+ @Override
+ public int count() {
+ return mImages.length;
+ }
+
+ @Override
+ public void populate(View view, int index) {
+ ((ImageView)view).setImageResource(mImages[index]);
+ }
+
+ @Override
+ public void onNewItem(int index) {
+ carousel.transitionToIndex(index, 2000);
+ }
+
+ });
+
+
+
+
+
//Navigating to VideoLibrary/Consultation activity via OnClick
cv_consultation=v.findViewById(R.id.CardView_Consultation);
cv_videoLibrary=v.findViewById(R.id.CardView_VideoLibrary);
@@ -93,7 +126,7 @@ public void onClick(View view) {
cv_libraryBooks.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(getContext(), Library_main.class);
+ Intent intent = new Intent(getContext(), LibForSmall_SplashScreen.class);
startActivity(intent);
}
});
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/AddBook.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/AddBook.java
index 0e4bf52..57fa54f 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/AddBook.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/AddBook.java
@@ -4,6 +4,14 @@
import androidx.appcompat.app.AppCompatActivity;
import com.spacECE.spaceceedu.R;
+import org.json.JSONObject;
+
+import okhttp3.Call;
+import okhttp3.FormBody;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
public class AddBook extends AppCompatActivity {
@Override
@@ -11,4 +19,33 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_book);
}
+
+ public void addBook(String name, String author,String edition,String description,String category,String price){
+ String addbook="";
+
+ new Thread(new Runnable() {
+
+ JSONObject jsonObject;
+ @Override
+ public void run() {
+ OkHttpClient client = new OkHttpClient();
+ RequestBody fromBody = new FormBody.Builder()
+ .add("name",name)
+ .add("author",author)
+ .add("edition",edition)
+ .add("description",description)
+ .add("category",category)
+ .add("price",price)
+ .add("isAPI","true")
+ .build();
+
+ Request request = new Request.Builder()
+ .url(addbook)
+ .post(fromBody)
+ .build();
+
+ Call call = client.newCall(request);
+ }
+ });
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Book.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Book.java
index c6e2da1..51186ce 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Book.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Book.java
@@ -1,27 +1,124 @@
package com.spacECE.spaceceedu.LibForSmall;
-import java.util.Date;
+import org.jetbrains.annotations.NotNull;
public class Book {
- String name;
- Date date;
- Integer valid;
+ String product_id;
+ String product_title;
+ String product_price;
+ String product_keywords;
+ String product_image;
+ String product_brand;
+ String product_desc;
+ String exchange_price;
+ String rent_price;
+ String deposit;
- public Book(String name, Date date, Integer valid) {
- this.name = name;
- this.date = date;
- this.valid = valid;
+ public Book(String product_id, String product_title, String product_price, String product_keywords, String product_image, String product_brand, String product_desc, String exchange_price, String rent_price, String deposit) {
+ this.product_id = product_id;
+ this.product_title = product_title;
+ this.product_price = product_price;
+ this.product_keywords = product_keywords;
+ this.product_image = product_image;
+ this.product_brand = product_brand;
+ this.product_desc = product_desc;
+ this.exchange_price = exchange_price;
+ this.rent_price = rent_price;
+ this.deposit = deposit;
}
- public String getName() {
- return name;
+ public String getProduct_brand() {
+ return product_brand;
}
- public Date getDate() {
- return date;
+ public void setProduct_brand(String product_brand) {
+ this.product_brand = product_brand;
}
- public Integer getValid() {
- return valid;
+ public String getProduct_desc() {
+ return product_desc;
}
-}
+
+ public void setProduct_desc(String product_desc) {
+ this.product_desc = product_desc;
+ }
+
+ public String getExchange_price() {
+ return exchange_price;
+ }
+
+ public void setExchange_price(String exchange_price) {
+ this.exchange_price = exchange_price;
+ }
+
+ public String getRent_price() {
+ return rent_price;
+ }
+
+ public void setRent_price(String rent_price) {
+ this.rent_price = rent_price;
+ }
+
+ public String getDeposit() {
+ return deposit;
+ }
+
+ public void setDeposit(String deposit) {
+ this.deposit = deposit;
+ }
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getProduct_title() {
+ return product_title;
+ }
+
+ public void setProduct_title(String product_title) {
+ this.product_title = product_title;
+ }
+
+ public String getProduct_price() {
+ return product_price;
+ }
+
+ private void setProduct_price(String product_price) {
+ this.product_price = product_price;
+ }
+
+ public String getProduct_keywords() {
+ return product_keywords;
+ }
+
+ public void setProduct_keywords(String product_keywords) {
+ this.product_keywords = product_keywords;
+ }
+
+ public String getProduct_image() {
+ return product_image;
+ }
+
+ public void setProduct_image(String product_image) {
+ this.product_image = product_image;
+ }
+
+ @NotNull
+ @Override
+ public String toString() {
+ return "product_id= " + product_id +
+ " product_title= " + product_title +
+ "\nproduct_keywords= " + product_keywords +
+ "\nproduct_price= " + product_price +
+ "\nproduct_image= " + product_image +
+ "\nproduct_brand= "+ product_brand+
+ "\nproduct_desc= "+ product_desc +
+ "\nexchange_price= "+ exchange_price +
+ "\nrent_price= "+ rent_price+
+ "\ndeposit= "+deposit;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/ChatUS.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Chat_Us.java
similarity index 87%
rename from app/src/main/java/com/spacECE/spaceceedu/LibForSmall/ChatUS.java
rename to app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Chat_Us.java
index 4caa9b2..0d38649 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/ChatUS.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Chat_Us.java
@@ -4,7 +4,7 @@
import androidx.appcompat.app.AppCompatActivity;
import com.spacECE.spaceceedu.R;
-public class ChatUS extends AppCompatActivity {
+public class Chat_Us extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Fragment_LibForSmall_Books.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Fragment_LibForSmall_Books.java
new file mode 100644
index 0000000..f3954a8
--- /dev/null
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Fragment_LibForSmall_Books.java
@@ -0,0 +1,64 @@
+package com.spacECE.spaceceedu.LibForSmall;
+
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.spacECE.spaceceedu.R;
+
+import java.util.ArrayList;
+
+public class Fragment_LibForSmall_Books extends Fragment {
+ private RecyclerView ListRecyclerView;
+ private LibForSmall_RecycleAdapter.RecyclerViewClickListener listener;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+
+ }
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+
+ View v = inflater.inflate(R.layout.fragment_library_itemlist, container, false);
+ v.setBackgroundColor(Color.WHITE);
+
+ Window window = getActivity().getWindow();
+ window.setStatusBarColor(Color.rgb(200,100,50));
+
+
+
+ ListRecyclerView = v.findViewById(R.id.library_RecyclerView);
+ ArrayList list = Library_Main.list;
+ setAdapter(list);
+
+ return v;
+ }
+ private void setAdapter(ArrayList myList) {
+ setOnClickListener();
+ LibForSmall_RecycleAdapter adapter = new LibForSmall_RecycleAdapter(myList, listener);
+ RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getContext(), 1, LinearLayoutManager.VERTICAL, false);
+ ListRecyclerView.setLayoutManager(layoutManager);
+ ListRecyclerView.setItemAnimator(new DefaultItemAnimator());
+ ListRecyclerView.setAdapter(adapter);
+ }
+
+ private void setOnClickListener() {
+ listener = (v, position) -> {
+ Intent intent = new Intent(getContext(), libraryDetailed.class);
+ intent.putExtra("pos", position);
+ startActivity(intent);
+ };
+ }
+
+}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/LibForSmall_RecycleAdapter.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/LibForSmall_RecycleAdapter.java
new file mode 100644
index 0000000..297ea0d
--- /dev/null
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/LibForSmall_RecycleAdapter.java
@@ -0,0 +1,58 @@
+package com.spacECE.spaceceedu.LibForSmall;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+import com.spacECE.spaceceedu.R;
+
+import java.util.ArrayList;
+
+public class LibForSmall_RecycleAdapter extends RecyclerView.Adapter{
+
+ ArrayList list;
+
+ private final RecyclerViewClickListener listener;
+
+ public LibForSmall_RecycleAdapter(ArrayList myList, RecyclerViewClickListener listener) {
+ this.list = myList;
+ this.listener = listener;
+ }
+
+ @NonNull
+ @Override
+ public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.library_list_listitem, parent, false);
+ return new MyViewHolder(itemView);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
+ holder.book_name.setText(list.get(position).getProduct_title());
+ }
+
+ @Override
+ public int getItemCount() {
+ return list.size();
+ }
+
+ public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
+ private final TextView book_name;
+ public MyViewHolder(@NonNull View view) {
+ super(view);
+ book_name=view.findViewById(R.id.cardview_bookname);
+ view.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View view) {
+ listener.onClick(view, getAdapterPosition());
+ }
+ }
+
+ public interface RecyclerViewClickListener {
+ void onClick(View v, int position);
+ }
+}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/LibForSmall_SplashScreen.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/LibForSmall_SplashScreen.java
new file mode 100644
index 0000000..e35f811
--- /dev/null
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/LibForSmall_SplashScreen.java
@@ -0,0 +1,100 @@
+package com.spacECE.spaceceedu.LibForSmall;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import androidx.appcompat.app.AppCompatActivity;
+import com.spacECE.spaceceedu.R;
+import com.spacECE.spaceceedu.Utils.UsefulFunctions;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.Objects;
+
+public class LibForSmall_SplashScreen extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_splash_screen);
+
+ LoadList();
+ }
+
+ void LoadList() {
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ final JSONObject apiCall;
+ try{
+ apiCall = UsefulFunctions.UsingGetAPI("http://spacefoundation.in/test/SpacECE-PHP/Khanstore/allproductlist.php");
+ JSONArray jsonArray = null;
+ try {
+ try {
+ assert apiCall != null;
+ } catch (AssertionError e) {
+
+ e.printStackTrace();
+
+ runOnUiThread(() -> {
+ new AlertDialog.Builder(LibForSmall_SplashScreen.this)
+ .setTitle("Internet Not Working!")
+ .setMessage("Do you want to retry ?")
+
+ .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ LoadList();
+ }
+ })
+
+ .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Intent intent = new Intent(LibForSmall_SplashScreen.this, Library_Main.class);
+ startActivity(intent);
+ finish();
+ }
+ })
+
+ .setIcon(android.R.drawable.ic_dialog_alert)
+ .show();
+ });
+
+ }
+ jsonArray = apiCall.getJSONArray("data");
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ Library_Main.list = new ArrayList<>();
+ try {
+ Log.d("TAG", "run: "+jsonArray.length());
+ for (int i = 0; i < Objects.requireNonNull(jsonArray).length(); i++) {
+ JSONObject response_element = new JSONObject(String.valueOf(jsonArray.getJSONObject(i)));
+ Book temp = new Book(response_element.getString("product_id"),response_element.getString("product_title"),
+ response_element.getString("product_price"),response_element.getString("product_keywords"),
+ response_element.getString("product_image"),response_element.getString("product_desc"),
+ response_element.getString("product_brand"), response_element.getString("rent_price"),
+ response_element.getString("exchange_price"),response_element.getString("deposit"));
+ Library_Main.list.add(temp);
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ Intent intent = new Intent(LibForSmall_SplashScreen.this, Library_Main.class);
+ startActivity(intent);
+ finish();
+
+ } catch ( Exception e) {
+ Log.i("EXCEPTION", e.toString());
+ }
+ }
+ });
+
+ thread.start();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Library_Main.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Library_Main.java
new file mode 100644
index 0000000..64e1a06
--- /dev/null
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Library_Main.java
@@ -0,0 +1,64 @@
+package com.spacECE.spaceceedu.LibForSmall;
+
+import android.content.Intent;
+import android.os.Bundle;
+
+
+import android.view.MenuItem;
+import android.view.View;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.Fragment;
+
+import com.google.android.material.bottomnavigation.BottomNavigationView;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.spacECE.spaceceedu.MainActivity;
+import com.spacECE.spaceceedu.R;
+
+import java.util.ArrayList;
+
+public class Library_Main extends AppCompatActivity {
+ public static ArrayList list = new ArrayList<>();
+
+ Fragment fragment=new Fragment_LibForSmall_Books();
+ public FloatingActionButton floatingActionButton;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_library_main);
+ getSupportFragmentManager().beginTransaction().replace(R.id.book_framelayout, fragment).commit();
+
+ floatingActionButton=findViewById(R.id.floatingActionBtnBottom);
+ floatingActionButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent i=new Intent(Library_Main.this,AddBook.class);
+ startActivity(i);
+ }
+ });
+
+ BottomNavigationView bottomNavigationView=findViewById(R.id.bottomAppBar);
+ bottomNavigationView.setSelectedItemId(R.id.menuBook);
+
+ bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
+ @Override
+ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
+ switch (item.getItemId()){
+ case R.id.menuChat:
+ Intent i=new Intent(Library_Main.this,Chat_Us.class);
+ startActivity(i);
+
+ case R.id.menuHome:
+ Intent intent=new Intent(Library_Main.this, MainActivity.class);
+ startActivity(intent);
+ }
+ return false;
+ }
+ });
+
+ }
+}
+
+
+
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Library_main.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Library_main.java
deleted file mode 100644
index b9ecea7..0000000
--- a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/Library_main.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package com.spacECE.spaceceedu.LibForSmall;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.Button;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.widget.Toolbar;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.google.android.material.bottomappbar.BottomAppBar;
-import com.google.android.material.floatingactionbutton.FloatingActionButton;
-import com.spacECE.spaceceedu.R;
-import com.spacECE.spaceceedu.Utils.UsefulFunctions;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-
-public class Library_main extends AppCompatActivity {
-
- Button books;
-
- RecyclerView recyclerView;
- public FloatingActionButton floatingActionButton;
-
- ArrayList book_name,book_price,book_category;
- BottomAppBar bottomAppBar;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_library_main);
-
- ArrayList Books = new ArrayList<>();
-
- boolean[] COMPLETED = {false};
- JSONObject[] apiCall = {null};
-
- floatingActionButton=findViewById(R.id.floatingActionBtnBottom);
- floatingActionButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent=new Intent(Library_main.this, AddBook.class);
- startActivity(intent);
- }
- });
-
- bottomAppBar=findViewById(R.id.bottomAppBar);
- bottomAppBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
- @Override
- public boolean onMenuItemClick(MenuItem item) {
-
- if(item.getItemId()==R.id.menuChat){
- Intent i=new Intent(Library_main.this, ChatUS.class);
- startActivity(i);
- }
- if(item.getItemId()==R.id.menuBook){
- Intent i=new Intent(Library_main.this, My_books.class);
- startActivity(i);
- }
- if(item.getItemId()==R.id.menuMaps){
- Intent i=new Intent(Intent.ACTION_VIEW);
- i.setData(Uri.parse("geo:47.4925,19.0513"));
- Intent chooser=Intent.createChooser(i,"Lauch Maps");
- startActivity(chooser);
-
- }
- return false;
- }
- });
-
- Thread thread = new Thread(new Runnable() {
-
- @Override
- public void run() {
-
- try {
- apiCall[0] = UsefulFunctions.UsingGetAPI("http://educationfoundation.space/ConsultUs/api_user_appoint?user=raju%20rastogi");
- try {
- Log.i("Object Obtained: ", apiCall[0].get("data").toString());
- } catch (JSONException e) {
- Log.i("API Response:", "Error");
- e.printStackTrace();
- }
-
- JSONArray jsonArray = null;
- try {
- jsonArray = apiCall[0].getJSONArray("data");
- Log.i("API : ", apiCall[0].toString());
- } catch (JSONException e) {
- e.printStackTrace();
- }
-
-
- } catch (RuntimeException runtimeException) {
- Log.i("RUNTIME EXCEPTION:::", "Server did not respons");
- }
- }
- });
-
- thread.start();
-
-
- }
-}
-
-
-
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/My_books.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/My_books.java
deleted file mode 100644
index 637f093..0000000
--- a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/My_books.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.spacECE.spaceceedu.LibForSmall;
-
-import android.os.Bundle;
-import android.util.Log;
-import androidx.appcompat.app.AppCompatActivity;
-import com.spacECE.spaceceedu.R;
-import com.spacECE.spaceceedu.Utils.UsefulFunctions;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.Date;
-
-public class My_books extends AppCompatActivity {
-
- public static ArrayList books = new ArrayList();
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- boolean[] COMPLETED = {false};
- JSONObject[] apiCall = {null};
-
- setContentView(R.layout.activity_my_books);
-
- Thread thread = new Thread(() -> {
-
- try {
- apiCall[0] = UsefulFunctions.UsingGetAPI("http://educationfoundation.space/ConsultUs/api_user_appoint?user=raju%20rastogi");
- try {
- Log.i("Object Obtained: ", apiCall[0].get("data").toString());
- } catch (JSONException e) {
- Log.i("API Response:", "Error");
- e.printStackTrace();
- }
-
- JSONArray jsonArray = null;
- try {
- jsonArray = apiCall[0].getJSONArray("data");
- Log.i("API : ", apiCall[0].toString());
- } catch (JSONException e) {
- e.printStackTrace();
- }
-
-
- } catch (RuntimeException runtimeException) {
- Log.i("RUNTIME EXCEPTION:::", "Server did not respons");
- }
- });
-
- books.add(new Book("The number system", new Date(), 30));
- Date abc = new Date();
- Log.i("Object", abc.toString());
-
- }
-}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/libraryDetailed.java b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/libraryDetailed.java
new file mode 100644
index 0000000..193882e
--- /dev/null
+++ b/app/src/main/java/com/spacECE/spaceceedu/LibForSmall/libraryDetailed.java
@@ -0,0 +1,44 @@
+package com.spacECE.spaceceedu.LibForSmall;
+
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.view.Window;
+import android.widget.Button;
+import android.widget.TextView;
+import androidx.appcompat.app.AppCompatActivity;
+import com.spacECE.spaceceedu.R;
+
+public class libraryDetailed extends AppCompatActivity {
+
+ TextView book,author,edition,desc,price,condition,owner;
+ Button callbtn,orderbtn;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_library_detailed);
+
+ Window window = this.getWindow();
+ window.setStatusBarColor(Color.rgb(200,100,50));
+
+ book=findViewById(R.id.book_name);
+ author=findViewById(R.id.author_name);
+ edition=findViewById(R.id.edition_name);
+ desc=findViewById(R.id.desc_name);
+ price=findViewById(R.id.price_name);
+ condition=findViewById(R.id.condition_name);
+ owner=findViewById(R.id.owner_name);
+ callbtn=findViewById(R.id.call_btn);
+ orderbtn=findViewById(R.id.order_btn);
+
+ Intent intent=getIntent();
+ int pos=intent.getIntExtra("pos",1);
+ Book books=Library_Main.list.get(pos);
+
+ book.setText(books.getProduct_title());
+ desc.setText(books.getProduct_desc());
+ price.setText(books.getProduct_price());
+
+ }
+}
diff --git a/app/src/main/java/com/spacECE/spaceceedu/MainActivity.java b/app/src/main/java/com/spacECE/spaceceedu/MainActivity.java
index 9d21ec0..d223c4f 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/MainActivity.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/MainActivity.java
@@ -99,6 +99,9 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+
+
+
//disabled night mode
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
diff --git a/app/src/main/java/com/spacECE/spaceceedu/Utils/UsefulFunctions.java b/app/src/main/java/com/spacECE/spaceceedu/Utils/UsefulFunctions.java
index 014051f..d36018d 100644
--- a/app/src/main/java/com/spacECE/spaceceedu/Utils/UsefulFunctions.java
+++ b/app/src/main/java/com/spacECE/spaceceedu/Utils/UsefulFunctions.java
@@ -47,6 +47,10 @@ public static Date StringToDate(String date) throws ParseException {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
}
+ public static Date String1ToDate(String date) throws ParseException {
+ return new SimpleDateFormat("MMM dd, yyyy").parse(date);
+ }
+
public static Date StringToTime(String date) throws ParseException {
return new SimpleDateFormat("HH:mm:ss").parse(date);
}
diff --git a/app/src/main/res/drawable/all_books.xml b/app/src/main/res/drawable/all_books.xml
new file mode 100644
index 0000000..1492953
--- /dev/null
+++ b/app/src/main/res/drawable/all_books.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_chat_us.xml b/app/src/main/res/layout/activity_chat_us.xml
index cc3fd06..ab12421 100644
--- a/app/src/main/res/layout/activity_chat_us.xml
+++ b/app/src/main/res/layout/activity_chat_us.xml
@@ -4,6 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".LibForSmall.ChatUS">
+ tools:context=".LibForSmall.Chat_Us">
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_consultant_appointment_confirmation.xml b/app/src/main/res/layout/activity_consultant_appointment_confirmation.xml
index cfcb2c6..77d6b42 100644
--- a/app/src/main/res/layout/activity_consultant_appointment_confirmation.xml
+++ b/app/src/main/res/layout/activity_consultant_appointment_confirmation.xml
@@ -18,7 +18,7 @@
app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toBottomOf="@id/news2" />
diff --git a/app/src/main/res/layout/activity_library_detailed.xml b/app/src/main/res/layout/activity_library_detailed.xml
new file mode 100644
index 0000000..b6a5910
--- /dev/null
+++ b/app/src/main/res/layout/activity_library_detailed.xml
@@ -0,0 +1,285 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_library_main.xml b/app/src/main/res/layout/activity_library_main.xml
index 997e864..2da4d06 100644
--- a/app/src/main/res/layout/activity_library_main.xml
+++ b/app/src/main/res/layout/activity_library_main.xml
@@ -8,7 +8,7 @@
tools:context=".MainActivity">
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/linear1" />
-
+ app:layout_constraintTop_toBottomOf="@+id/reccomendations" >
+
+
+
-
-
-
-
+ app:menu="@menu/app_bar_menu"
+ />
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_topic.xml b/app/src/main/res/layout/activity_topic.xml
index dfee703..40833e1 100644
--- a/app/src/main/res/layout/activity_topic.xml
+++ b/app/src/main/res/layout/activity_topic.xml
@@ -22,8 +22,7 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:autoPlay="false"
- app:showFullScreenButton="true" />
+ app:autoPlay="false" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index 21b4b96..a3a80e1 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -7,7 +7,6 @@
android:layout_width="match_parent"
android:background="#FFFFFF">
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/app_bar_menu.xml b/app/src/main/res/menu/app_bar_menu.xml
index 4e21ce5..2128893 100644
--- a/app/src/main/res/menu/app_bar_menu.xml
+++ b/app/src/main/res/menu/app_bar_menu.xml
@@ -3,20 +3,21 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
>
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/demo_040_carousel_scene.xml b/app/src/main/res/xml/demo_040_carousel_scene.xml
new file mode 100644
index 0000000..20a992b
--- /dev/null
+++ b/app/src/main/res/xml/demo_040_carousel_scene.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 809296c..20aa460 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.0.0'
+ classpath 'com.android.tools.build:gradle:7.0.4'
classpath 'com.google.gms:google-services:4.3.10'
// NOTE: Do not place your application dependencies here; they belong
@@ -16,7 +16,7 @@ buildscript {
allprojects {
repositories {
- mavenCentral()
+// mavenCentral()
}
}
diff --git a/gradle.properties b/gradle.properties
index 52f5917..166bb74 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,4 +16,5 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
-android.enableJetifier=true
\ No newline at end of file
+android.enableJetifier=true
+org.gradle.warning.mode=all
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 6356ae3..e0d6cf1 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,12 +1,14 @@
+import org.gradle.api.initialization.resolve.RepositoriesMode
+
dependencyResolutionManagement {
- repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
+ repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
repositories {
google()
mavenCentral()
- maven {
+ mavenCentral {
url "https://s3-ap-southeast-1.amazonaws.com/godel-release/godel/"
}
- jcenter() // Warning: this repository is going to shut down soon
+ jcenter()
}
}
rootProject.name = "SpacECEedu"