Skip to content
This repository was archived by the owner on Oct 13, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .idea/assetWizardSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/dictionaries/eric.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 6 additions & 2 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,23 @@ View when the room is reserved:

<img src="https://raw.githubusercontent.com/WillNilges/BetterVent/master/BetterVent_Screenshots/Screenshot_20190302-045456_BetterVent.jpg" width="50%" height="50%">

# Companion Mode
-BetterVent now supports a Companion Mode; rather than just viewing the app as a kiosk, users can download the application and configure it to show locations throughout their calendar.

<img src="https://raw.githubusercontent.com/WillNilges/BetterVent/master/BetterVent_Screenshots/companion_1.png" width="50%" height="50%">

-Choose from automatically discovered locations which ones to track

<img src="https://raw.githubusercontent.com/WillNilges/BetterVent/master/BetterVent_Screenshots/companion_2.png" width="50%" height="50%">

<img src="https://raw.githubusercontent.com/WillNilges/BetterVent/master/BetterVent_Screenshots/companion_3.png" width="50%" height="50%">

-Get detailed information on a room's status with a simple click

<img src="https://raw.githubusercontent.com/WillNilges/BetterVent/master/BetterVent_Screenshots/companion_4.png" width="50%" height="50%">

<img src="https://raw.githubusercontent.com/WillNilges/BetterVent/master/BetterVent_Screenshots/companion_5.png" width="50%" height="50%">

# How do I get it?
Currently, BetterVent is not on the Play Store, but you can download the .apk file in the releases tab.
(I'll try to keep it up to date)
Expand All @@ -43,7 +60,7 @@ Currently, BetterVent is not on the Play Store, but you can download the .apk fi
- Better parsing of event keywords
- Set keywords that usually pertain to a location
- Colors

## Device Admin
To set the app as device admin (You need to do this before kiosk features work (Thanks, Google)) Connect to a computer and in the terminal (after installing adb) do this *BEFORE SETTING UP A GOOGLE ACCOUNT*:

Expand Down
47 changes: 29 additions & 18 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
compileSdkVersion 28
compileSdkVersion 29
defaultConfig {
applicationId "edu.rit.csh.bettervent"
minSdkVersion 23
targetSdkVersion 28
minSdkVersion 26
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
Expand All @@ -22,27 +23,34 @@ android {
}
}


dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'org.jetbrains.anko:anko-commons:0.10.8'
implementation 'org.jetbrains.anko:anko-design:0.10.8'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

// Google Calendar API dependencies
implementation 'com.google.android.gms:play-services:12.0.1'
api 'com.google.apis:google-api-services-calendar:v3-rev119-1.19.1'
api 'com.google.api-client:google-api-client:1.23.0'
api 'com.google.api-client:google-api-client-android:1.23.0'
api 'com.google.api-client:google-api-client-gson:1.19.1'

implementation 'com.google.api-client:google-api-client:1.23.0'
implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
implementation 'com.google.apis:google-api-services-calendar:v3-rev305-1.23.0'
implementation 'com.google.android.gms:play-services-base:17.1.0'
implementation 'com.github.thellmund:Android-Week-View:3.1.3'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'com.google.api-client:google-api-client:1.23.0'
implementation 'com.google.api-client:google-api-client-android:1.23.0'
implementation 'com.google.apis:google-api-services-people:v1-rev4-1.22.0'
implementation 'com.google.http-client:google-http-client-gson:1.19.0'
}

configurations {
Expand All @@ -52,4 +60,7 @@ configurations {
}
repositories {
mavenCentral()
}
}
androidExtensions {
experimental = true
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package edu.rit.csh.bettervent;

import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.runner.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
28 changes: 20 additions & 8 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="edu.rit.csh.bettervent">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
<uses-permission
android:name="android.permission.MANAGE_DEVICE_ADMINS"
tools:ignore="ProtectedPermissions" />


<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Expand All @@ -20,23 +21,34 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Design.Light.NoActionBar">
<receiver android:name="edu.rit.csh.bettervent.AdminReceiver"
android:label="@string/sample_device_admin"
<activity android:name=".view.companion.CompanionActivity"></activity>
<activity
android:name=".view.kiosk.MainActivity"
android:configChanges="orientation"
android:screenOrientation="landscape"></activity>

<receiver
android:name=".AdminReceiver"
android:description="@string/sample_device_admin_description"
android:label="@string/sample_device_admin"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data android:name="android.app.device_admin"
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_receiver" />

<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>

<activity
android:name=".MainActivity"
android:name=".view.MainActivity"
android:label="Bettervent"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"
android:label="Welcome to Computer Science House"/>
<action
android:name="android.intent.action.MAIN"
android:label="Welcome to Computer Science House" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Expand Down
80 changes: 0 additions & 80 deletions app/src/main/java/edu/rit/csh/bettervent/ApiAsyncTask.kt

This file was deleted.

Loading