Skip to content
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
8 changes: 4 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.0.0"
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "com.score.homez"
minSdkVersion 17
targetSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
Expand All @@ -22,6 +22,6 @@ android {

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:appcompat-v7:23+'
compile project(':senzc')
}
21 changes: 14 additions & 7 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,37 @@
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity
android:name=".ui.SwitchActivity"
android:configChanges="orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
android:windowSoftInputMode="stateHidden">
</activity>
android:windowSoftInputMode="stateHidden" />

<receiver android:name=".receivers.SenzReceiver">

<intent-filter>
<action android:name="com.score.senzc.NEW_SENZ" />
</intent-filter>
</receiver>




<activity
android:name=".ui.Modes"
android:label="@string/title_activity_modes" />
<activity
android:name=".ui.HelpPage"
android:label="@string/title_activity_help_page" />
<activity
android:name=".ui.AddHome"
android:label="@string/title_activity_add_home" />
<activity
android:name=".ui.Homes"
android:label="@string/title_activity_homes"></activity>
</application>

</manifest>
137 changes: 137 additions & 0 deletions app/src/main/java/com/score/homez/db/SwitchesDB.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
package com.score.homez.db;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import com.score.homez.utils.Switch;

import java.lang.reflect.Array;
import java.util.ArrayList;

/**
* Created by Anesu on 1/1/2016.
*/
public class SwitchesDB extends SQLiteOpenHelper {
private static final int DB_VERSION = 1;
private static final String DB_NAME = "Switches.db";
private static final String TABLE_NAME = "Switches";

private static final String ID = "_id";
private static final String NAME = "name";
private static final String STATUS = "status";

private static final int ID_INDEX = 1;
private static final int NAME_INDEX = 2;
private static final int STATUS_INDEX = 3;

public SwitchesDB(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {

//db.execSQL(CREATE_TABLE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//db.execSQL(DROP_TABLE);
//onCreate(db);
}

public void deleteHomeTable(String name) {
final String DROP_TABLE = "DROP TABLE IF EXISTS " + name;
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL(DROP_TABLE);
}

public void addSwitch(String table_name, String name, int status) {
SQLiteDatabase db = this.getReadableDatabase();

ContentValues values = new ContentValues();
values.put(NAME, name);
values.put(STATUS, status);
db.insert(table_name, null, values);
}

public void createHomeTable(String name) {
final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS " + name + "(" + ID + " INTEGER PRIMARY KEY, " +
"TEXT," + NAME + " TEXT," + STATUS + " TEXT);";

SQLiteDatabase db = this.getReadableDatabase();
db.execSQL(CREATE_TABLE);
}

public ArrayList<String> getAllHomes() {
ArrayList<String> homes = new ArrayList<>();
String GET_TABLES = "SELECT name FROM sqlite_master WHERE type='table'";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(GET_TABLES, null);

if (cursor.moveToFirst()) {
while (!cursor.isAfterLast()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
if (!name.equals("android_metadata")) {
homes.add(name);
}
cursor.moveToNext();
}
}
return homes;
}

public ArrayList<Switch> getAllSwitches(String name) {
String SELECT_ALL = "SELECT * FROM " + name;
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<Switch> switches = new ArrayList<>();
Cursor cursor = db.rawQuery(SELECT_ALL, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
String home_name = cursor.getString(NAME_INDEX);
int id = cursor.getInt(ID_INDEX);
int status = Integer.parseInt(cursor.getString(STATUS_INDEX));
Switch aSwitch = new Switch(home_name, id, status);
switches.add(aSwitch);
}
while (cursor.moveToNext());
}
} else {
return null;
}

return switches;
}

public void toggleSwitch(String table_name, String name, int newState) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues content = new ContentValues();
content.put(STATUS, newState + "");
db.update(table_name, content, NAME + "=?", new String[]{name});
}

public void clearDB(String name) {
SQLiteDatabase db = this.getReadableDatabase();
db.delete(name, null, null);
}

public int getCount(String name) {
try {
String SELECT_ALL = "SELECT * FROM " + name;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(SELECT_ALL, null);
return cursor.getCount();
}catch (Exception e)
{
this.createHomeTable(name);
return this.getCount(name);
}
}

}

126 changes: 126 additions & 0 deletions app/src/main/java/com/score/homez/ui/AddHome.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
package com.score.homez.ui;

import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.score.homez.R;
import com.score.homez.db.SwitchesDB;

public class AddHome extends ActionBarActivity implements View.OnClickListener{

Button create_btn;
EditText name;
String table;
String table_name;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_home);

getIntentData();
initUi();
}

private void initUi(){
create_btn = (Button) findViewById(R.id.create);
name = (EditText) findViewById(R.id.home_name);
create_btn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
if(v.getId() == R.id.create){
table = name.getText().toString().replace(" ", "_");
SwitchesDB db = new SwitchesDB(this);
db.createHomeTable(table);
Toast.makeText(this, table.replace("_", " ") + " has been created", Toast.LENGTH_LONG).show();
toHome();
}
}

private void toHome()
{
Intent intent = new Intent(AddHome.this, HomeActivity.class);
intent.putExtra("home", table_name);
startActivity(intent);
}

public void viewHomes() {
Intent intent = new Intent(AddHome.this, Homes.class);
intent.putExtra("home", table_name);
finish();
startActivity(intent);
}

public void viewModes() {
Intent intent = new Intent(AddHome.this, Modes.class);
intent.putExtra("home",table_name);
finish();;
startActivity(intent);
}

public void viewHelp() {
Intent intent = new Intent(AddHome.this, HelpPage.class);
finish();
startActivity(intent);
}
private void getIntentData() {
Intent intent = getIntent();
String table_name = intent.getStringExtra("home");

if (table_name != null) {
this.table_name = table_name;
} else {
this.table_name = "Main_Home";
}
}

@Override
public void onBackPressed(){
Intent intent = new Intent(AddHome.this, HomeActivity.class);
intent.putExtra("home", table_name);
startActivity(intent);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
} else if (id == android.R.id.home) {
onBackPressed();
}else if(id == R.id.action_help){
viewHelp();
}
else if(id == R.id.action_homes){
viewHomes();
}
else if(id == R.id.action_modes){
viewModes();
}

return super.onOptionsItemSelected(item);
}
}
Loading