Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
Theatre Booking App
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
a-j.towse
Theatre Booking App
Commits
f2850306
Commit
f2850306
authored
May 28, 2023
by
a-j.towse
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
half working filter
parent
bac7ba9a
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
212 additions
and
29 deletions
+212
-29
vcs.xml
.idea/vcs.xml
+6
-0
DBConnector.java
.../main/java/com/example/no1theatrecompany/DBConnector.java
+1
-0
IdleData.java
...src/main/java/com/example/no1theatrecompany/IdleData.java
+5
-1
IdleViewHolder.java
...in/java/com/example/no1theatrecompany/IdleViewHolder.java
+7
-0
MainActivity.java
...main/java/com/example/no1theatrecompany/MainActivity.java
+84
-2
activity_main.xml
app/src/main/res/layout/activity_main.xml
+66
-25
performance_item.xml
app/src/main/res/layout/performance_item.xml
+43
-1
No files found.
.idea/vcs.xml
0 → 100644
View file @
f2850306
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
"$PROJECT_DIR$"
vcs=
"Git"
/>
</component>
</project>
\ No newline at end of file
app/src/main/java/com/example/no1theatrecompany/DBConnector.java
View file @
f2850306
...
@@ -260,6 +260,7 @@ public class DBConnector extends SQLiteOpenHelper {
...
@@ -260,6 +260,7 @@ public class DBConnector extends SQLiteOpenHelper {
}
}
//Upgrade DB (to satisfy extends f SQLiteOpenHelper)
//Upgrade DB (to satisfy extends f SQLiteOpenHelper)
@Override
@Override
public
void
onUpgrade
(
SQLiteDatabase
db
,
int
oldVersion
,
int
newVersion
)
{
public
void
onUpgrade
(
SQLiteDatabase
db
,
int
oldVersion
,
int
newVersion
)
{
...
...
app/src/main/java/com/example/no1theatrecompany/IdleData.java
View file @
f2850306
...
@@ -3,11 +3,15 @@ package com.example.no1theatrecompany;
...
@@ -3,11 +3,15 @@ package com.example.no1theatrecompany;
public
class
IdleData
{
public
class
IdleData
{
String
name
;
String
name
;
String
date
;
String
ticketsLeft
;
IdleData
(
String
name
)
IdleData
(
String
name
,
String
date
,
String
ticketsLeft
)
{
{
this
.
name
=
name
;
this
.
name
=
name
;
this
.
date
=
date
;
this
.
ticketsLeft
=
ticketsLeft
;
}
}
}
}
app/src/main/java/com/example/no1theatrecompany/IdleViewHolder.java
View file @
f2850306
...
@@ -8,15 +8,22 @@ import androidx.recyclerview.widget.RecyclerView;
...
@@ -8,15 +8,22 @@ import androidx.recyclerview.widget.RecyclerView;
public
class
IdleViewHolder
extends
RecyclerView
.
ViewHolder
public
class
IdleViewHolder
extends
RecyclerView
.
ViewHolder
{
{
TextView
nameText
;
TextView
nameText
;
TextView
dateText
;
TextView
ticketsLeftText
;
IdleViewHolder
(
View
v
)
{
IdleViewHolder
(
View
v
)
{
super
(
v
);
super
(
v
);
nameText
=
itemView
.
findViewById
(
R
.
id
.
performanceName
);
nameText
=
itemView
.
findViewById
(
R
.
id
.
performanceName
);
dateText
=
itemView
.
findViewById
(
R
.
id
.
performanceDate
);
ticketsLeftText
=
itemView
.
findViewById
(
R
.
id
.
ticketsLeft
);
}
}
void
setData
(
IdleData
data
)
void
setData
(
IdleData
data
)
{
{
nameText
.
setText
(
data
.
name
);
nameText
.
setText
(
data
.
name
);
dateText
.
setText
(
data
.
date
);
ticketsLeftText
.
setText
(
data
.
ticketsLeft
);
}
}
}
}
\ No newline at end of file
app/src/main/java/com/example/no1theatrecompany/MainActivity.java
View file @
f2850306
...
@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView;
...
@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.CheckBox
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -17,6 +18,7 @@ public class MainActivity extends AppCompatActivity {
...
@@ -17,6 +18,7 @@ public class MainActivity extends AppCompatActivity {
performanceRecAdapter
adapter
;
performanceRecAdapter
adapter
;
ArrayList
<
IdleData
>
performanceList
;
ArrayList
<
IdleData
>
performanceList
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
...
@@ -40,17 +42,97 @@ public class MainActivity extends AppCompatActivity {
...
@@ -40,17 +42,97 @@ public class MainActivity extends AppCompatActivity {
DBConnector
connector
=
new
DBConnector
(
this
,
null
);
DBConnector
connector
=
new
DBConnector
(
this
,
null
);
ArrayList
performanceInfoList
=
connector
.
getPerformanceInfo
();
ArrayList
performanceInfoList
=
connector
.
getPerformanceInfo
();
//Display items of performanceInfoList
for
(
int
i
=
0
;
i
<
performanceInfoList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
performanceInfoList
.
size
();
i
++)
{
ArrayList
tempList
=
(
ArrayList
)
performanceInfoList
.
get
(
i
);
ArrayList
tempList
=
(
ArrayList
)
performanceInfoList
.
get
(
i
);
performanceList
.
add
(
performanceList
.
size
(),
new
IdleData
(
tempList
.
get
(
0
).
toString
()));
String
ticketNum
=
null
;
int
ticketCount
=
0
;
//count the number of tickets left
for
(
int
x
=
7
;
x
<
tempList
.
size
();
x
++)
{
if
(
tempList
.
get
(
x
)
!=
null
)
{
String
unSplitItem
=
tempList
.
get
(
x
).
toString
();
String
Num
=
unSplitItem
.
substring
(
0
,
unSplitItem
.
indexOf
(
","
));
ticketCount
+=
Integer
.
parseInt
(
Num
);
}
}
performanceList
.
add
(
performanceList
.
size
(),
new
IdleData
(
tempList
.
get
(
0
).
toString
(),
tempList
.
get
(
1
).
toString
(),
Integer
.
toString
(
ticketCount
)));
this
.
adapter
.
notifyItemInserted
(
this
.
adapter
.
getItemCount
());
this
.
adapter
.
notifyItemInserted
(
this
.
adapter
.
getItemCount
());
}
}
}
}
public
void
logOutBtn
(
View
view
)
{
public
void
logOutBtn
(
View
view
)
{
startActivity
(
new
Intent
(
MainActivity
.
this
,
LoginActivity
.
class
));
startActivity
(
new
Intent
(
MainActivity
.
this
,
LoginActivity
.
class
));
}
}
public
void
applyFilterBtn
(
View
view
)
{
filterPerformances
();
}
public
void
filterPerformances
()
{
boolean
flashIsChecked
=
((
CheckBox
)
findViewById
(
R
.
id
.
flashCheckBox
)).
isChecked
();
boolean
stepsIsChecked
=
((
CheckBox
)
findViewById
(
R
.
id
.
stepsCheckBox
)).
isChecked
();
boolean
wheelIsChecked
=
((
CheckBox
)
findViewById
(
R
.
id
.
wheelAccessCheckBox
)).
isChecked
();
//connect to DBConnector
DBConnector
connector
=
new
DBConnector
(
this
,
null
);
ArrayList
performanceInfoList
=
connector
.
getPerformanceInfo
();
for
(
int
i
=
0
;
i
<
performanceInfoList
.
size
();
i
++)
{
ArrayList
tempList
=
(
ArrayList
)
performanceInfoList
.
get
(
i
);
if
(
flashIsChecked
==
true
)
{
if
(
tempList
.
get
(
5
)
==
null
)
{
performanceInfoList
.
remove
(
i
);
}
}
else
if
(
stepsIsChecked
==
true
)
{
if
(
tempList
.
get
(
6
)
==
null
)
{
performanceInfoList
.
remove
(
i
);
}
}
else
if
(
wheelIsChecked
==
true
)
{
if
(
tempList
.
get
(
7
)
==
null
)
{
performanceInfoList
.
remove
(
i
);
}
}
}
performanceList
=
new
ArrayList
<>();
RecyclerView
recyclerObj
=
findViewById
(
R
.
id
.
performanceRecycler
);
recyclerObj
.
setLayoutManager
(
new
LinearLayoutManager
(
this
));
adapter
=
new
performanceRecAdapter
(
this
,
performanceList
);
recyclerObj
.
setAdapter
(
adapter
);
//Display items of performanceInfoList
for
(
int
i
=
0
;
i
<
performanceInfoList
.
size
();
i
++)
{
ArrayList
tempList
=
(
ArrayList
)
performanceInfoList
.
get
(
i
);
String
ticketNum
=
null
;
int
ticketCount
=
0
;
//count the number of tickets left
for
(
int
x
=
7
;
x
<
tempList
.
size
();
x
++)
{
if
(
tempList
.
get
(
x
)
!=
null
)
{
String
unSplitItem
=
tempList
.
get
(
x
).
toString
();
String
Num
=
unSplitItem
.
substring
(
0
,
unSplitItem
.
indexOf
(
","
));
ticketCount
+=
Integer
.
parseInt
(
Num
);
}
}
performanceList
.
add
(
performanceList
.
size
(),
new
IdleData
(
tempList
.
get
(
0
).
toString
(),
tempList
.
get
(
1
).
toString
(),
Integer
.
toString
(
ticketCount
)));
this
.
adapter
.
notifyItemInserted
(
this
.
adapter
.
getItemCount
());
}
}
}
}
\ No newline at end of file
app/src/main/res/layout/activity_main.xml
View file @
f2850306
...
@@ -4,8 +4,7 @@
...
@@ -4,8 +4,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#F0EDE6
android:background=
"#F0EDE6"
"
tools:context=
".MainActivity"
>
tools:context=
".MainActivity"
>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
...
@@ -16,6 +15,16 @@
...
@@ -16,6 +15,16 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
android:id=
"@+id/usernameTextView"
android:layout_width=
"108dp"
android:layout_height=
"23dp"
android:layout_marginTop=
"16dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.947"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<Button
<Button
android:id=
"@+id/logOutBtn"
android:id=
"@+id/logOutBtn"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
@@ -27,44 +36,71 @@
...
@@ -27,44 +36,71 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/usernameTextView"
android:layout_width=
"150dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"14dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
<ImageView
android:id=
"@+id/imageView"
android:id=
"@+id/imageView"
android:layout_width=
"
wrap_content
"
android:layout_width=
"
411dp
"
android:layout_height=
"
258
dp"
android:layout_height=
"
120
dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:srcCompat=
"@drawable/no_1_theatreco"
/>
app:srcCompat=
"@drawable/no_1_theatreco"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"409dp"
android:id=
"@+id/constraintLayout2"
android:layout_height=
"450dp"
android:layout_width=
"0dp"
android:layout_height=
"109dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/constraintLayout"
>
app:layout_constraintTop_toBottomOf=
"@+id/constraintLayout"
>
<Button
<Button
android:id=
"@+id/filterBtn"
android:id=
"@+id/filterBtn"
android:layout_width=
"85dp"
android:layout_width=
"138dp"
android:layout_height=
"43dp"
android:layout_height=
"48dp"
android:layout_marginEnd=
"8dp"
android:layout_marginEnd=
"16dp"
android:text=
"Filter"
android:onClick=
"applyFilterBtn"
android:text=
"Apply Filter"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
/>
<CheckBox
android:id=
"@+id/flashCheckBox"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:text=
"No Flashing Lights"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<CheckBox
android:id=
"@+id/wheelAccessCheckBox"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"10dp"
android:text=
"Wheelchair Accessible"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/flashCheckBox"
/>
<CheckBox
android:id=
"@+id/stepsCheckBox"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:text=
"Less Than 20 Steps"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"409dp"
android:layout_height=
"450dp"
android:layout_marginTop=
"30dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/constraintLayout2"
>
<TextView
<TextView
android:id=
"@+id/textViewPerformances"
android:id=
"@+id/textViewPerformances"
...
@@ -84,22 +120,27 @@
...
@@ -84,22 +120,27 @@
android:layout_width=
"407dp"
android:layout_width=
"407dp"
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:layout_marginStart=
"16dp"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"1dp"
android:layout_marginEnd=
"16dp"
android:layout_marginEnd=
"16dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/
filterBtn
"
>
app:layout_constraintTop_toBottomOf=
"@+id/
textViewPerformances
"
>
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/performanceRecycler"
android:id=
"@+id/performanceRecycler"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:background=
"@color/beige"
android:background=
"@color/beige"
android:fadeScrollbars=
"false"
android:scrollIndicators=
"bottom"
android:scrollbarAlwaysDrawHorizontalTrack=
"true"
android:scrollbarSize=
"5dp"
android:scrollbars=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
...
...
app/src/main/res/layout/performance_item.xml
View file @
f2850306
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/linearLayout"
android:id=
"@+id/linearLayout"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
@@ -14,12 +15,53 @@
...
@@ -14,12 +15,53 @@
android:id=
"@+id/performanceName"
android:id=
"@+id/performanceName"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"10dp"
android:text=
"TextView"
android:text=
"TextView"
android:textAlignment=
"center"
android:textSize=
"20sp"
android:textSize=
"20sp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_chainStyle=
"packed"
/>
app:layout_constraintVertical_chainStyle=
"packed"
/>
<TextView
android:id=
"@+id/performanceDate"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"10dp"
android:text=
"TextView"
android:textSize=
"16sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/performanceName"
/>
<TextView
android:id=
"@+id/ticketsLeft"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:layout_marginEnd=
"15dp"
android:layout_marginBottom=
"10dp"
android:text=
"TextView"
android:textSize=
"16sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/performanceName"
/>
<TextView
android:id=
"@+id/textView2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:layout_marginEnd=
"5dp"
android:layout_marginBottom=
"10dp"
android:text=
"Tickets Available:"
android:textSize=
"16sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/ticketsLeft"
app:layout_constraintTop_toBottomOf=
"@+id/performanceName"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment