moved from SVN to git

This commit is contained in:
root
2016-06-27 01:45:38 +02:00
commit 886b5e4fd6
4735 changed files with 2306248 additions and 0 deletions

6
Android/BewoKlientenApp/.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build

1
Android/BewoKlientenApp/.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
BewoKlientenApp

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>

View File

@@ -0,0 +1,3 @@
<component name="CopyrightManager">
<settings default="" />
</component>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

23
Android/BewoKlientenApp/.idea/gradle.xml generated Normal file
View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="myModules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

46
Android/BewoKlientenApp/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
<component name="SvnBranchConfigurationManager">
<option name="mySupportsUserInfoFilter" value="true" />
</component>
</project>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/BewoKlientenApp.iml" filepath="$PROJECT_DIR$/BewoKlientenApp.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>

6
Android/BewoKlientenApp/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="svn" />
</component>
</project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="BewoKlientenApp" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="java-gradle" name="Java-Gradle">
<configuration>
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
<option name="BUILDABLE" value="false" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="BewoKlientenApp" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":app" />
</configuration>
</facet>
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
<task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
</component>
</module>

View File

@@ -0,0 +1,44 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "beyondsoft.bewoklientenapp"
minSdkVersion 18
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
}
/*
configurations {
sql
}
dependencies {
sql 'mysql:mysql-connector-java:5.1.16'
}
task buildTravelDatabase << {
ant.sql(classpath: configurations.sql.asPath)
}*/

View File

@@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Users\bib\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@@ -0,0 +1,13 @@
package beyondsoft.bewoklientenapp;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="beyondsoft.bewoklientenapp" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".SplashScreenActivity"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivityKlient"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.activity_main_activity_klient" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".UberprufungsActiviti"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.approve" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".kasseActiviti"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.kasse" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".CalenderActiviti"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.calender" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".chatActiviti"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.chat" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,43 @@
package beyondsoft.bewoklientenapp;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
/**
* Created by bib on 29.04.2016.
*/
public class CalenderActiviti extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calender);
}
@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_calender, 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_back) {
finish();
}
return super.onOptionsItemSelected(item);
}
}

View File

@@ -0,0 +1,25 @@
package beyondsoft.bewoklientenapp;
/**
* Created by bib on 19.05.2016.
*/
public class ChatMessageFormat {
private boolean isMe;
private String message;
private String datum;
//villeicht eine issend variable einbauen
ChatMessageFormat(String message, boolean isMe, String datum){
this.message = message;
this.isMe = isMe;
this.datum = datum;
}
public boolean getIsME(){return isMe;}
public String getMessage(){return message;}
public String getDatum(){return datum;}
}

View File

@@ -0,0 +1,143 @@
package beyondsoft.bewoklientenapp;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivityKlient extends ActionBarActivity {
//##################### Variablen ####################
protected Button kalenderbutton;
protected Button kassenbutton;
protected Button chatbutton;
protected Button logoutbutton;
//####################################################
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity_klient);
setzeButtonListener();
}
@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_activity_klient, 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
//R.id.action_settings
//
if(id == R.id.action_Logout){
System.exit(0);
}
return super.onOptionsItemSelected(item);
}
//########################## Action events der Jeweiligen Buttons
//########################## Start Kalender
public void startKalenderActiviti(){
//Intent intent = new Intent((), CalenderActiviti.class);
//startActivity(intent);
startActivity(new Intent(getBaseContext(),CalenderActiviti.class));
}
//########################## Start Kasse
public void startKassenActiviti(){
startActivity(new Intent(getBaseContext(),kasseActiviti.class));
}
//########################## Start Chat
public void startChatActiviti(){
startActivity(new Intent(getBaseContext(),chatActiviti.class));
}
//########################## Start Logout
public void startLogoutActiviti(){
System.exit(0);
}
//###############################################################
//---------------- Gesetzte Listener der Einzelnen Buttons ------------
public void setzeButtonListener(){
//################## Kalender Button ######################
kalenderbutton = (Button) findViewById(R.id.KalenderButton);
kalenderbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startKalenderActiviti();
}
});
//################# Kassen Button #########################
kassenbutton = (Button) findViewById(R.id.KassenButton);
kassenbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startKassenActiviti();
}
});
//################## Chat Button ###########################
chatbutton = (Button) findViewById(R.id.Chatbutton);
chatbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startChatActiviti();
}
});
//################## Logout Button ###########################
logoutbutton = (Button) findViewById(R.id.Logoutbutton);
logoutbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startLogoutActiviti();
}
});
}
//----------------------------------------------------------------------
}

View File

@@ -0,0 +1,108 @@
package beyondsoft.bewoklientenapp;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.List;
/**
* Created by bib on 20.05.2016.
*/
public class MessageAdapter extends ArrayAdapter<ChatMessageFormat> {
private Activity activity;
private List<ChatMessageFormat> messages;
public MessageAdapter(Activity context, int resource, List<ChatMessageFormat> objects) {
super(context, resource, objects);
this.activity = context;
this.messages = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
int layoutResource = 0; // determined by view type
ChatMessageFormat chatMessage = getItem(position);
int viewType = getItemViewType(position);
//Splitt message um zu wissen ob from server oder nicht
String line = chatMessage.getMessage();
String[] splitt = line.split(":");
//Server nachricht kenntlich machen
if (chatMessage.getIsME()) {
layoutResource = R.layout.item_chat_left;
} else if(splitt[0].equals("Server")) {
layoutResource = R.layout.item_chat_sever_right;
}else {
layoutResource = R.layout.item_chat_right;
}
/* Original
if (chatMessage.getIsME()) {
layoutResource = R.layout.item_chat_left;
} else {
layoutResource = R.layout.item_chat_right;
}
*/
/* if (convertView != null) {
holder = (ViewHolder) convertView.getTag();
Log.v("Status","Bin ich hier ?? ");
} else {*/
convertView = inflater.inflate(layoutResource, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
//}
//set message content
holder.msg.setText(chatMessage.getMessage());
if(chatMessage.getIsME()){
holder.dateOut.setText(chatMessage.getDatum());
}else {
holder.dateIn.setText(chatMessage.getDatum());
}
return convertView;
}
@Override
public int getViewTypeCount() {
// return the total number of view types. this value should never change
// at runtime
return 2;
}
@Override
public int getItemViewType(int position) {
// return a value between 0 and (getViewTypeCount - 1)
return position % 2;
}
private class ViewHolder {
private TextView msg;
private TextView dateOut;
private TextView dateIn;
public ViewHolder(View v) {
msg = (TextView) v.findViewById(R.id.txt_msg);
dateOut = (TextView)v.findViewById(R.id.DateOUT);
dateIn = (TextView)v.findViewById(R.id.DateIN);
}
}
}

View File

@@ -0,0 +1,91 @@
package beyondsoft.bewoklientenapp;
import android.app.Activity;
import android.os.Bundle;
import java.sql.Connection;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSetMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* Created by bib on 29.04.2016.
*/
public class ServerAnbindung extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
connect();
}
public void connect(){
String DBip = "192.168.1.115";
String DBport = "3306";
String DBname = "1234567890";
String DBusername = "root";
String DBpasswd = "root";
try {
Connection con = null;
//Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Wenn hier: Das problem liegt nicht an der klasse ");
// con = DriverManager.getConnection("jdbc:mysql://"+DBip+":"+DBport+"/"+DBname+"?"+"user="+DBusername+"&"+"password="+DBpasswd);
System.out.println("Serververbindung steht");
}catch (Exception e){
System.out.println("-------------------------------- ");
System.out.println("alles kaput");
e.printStackTrace();
System.out.println("SQLException: " + e.getMessage());
System.out.println("-------------------------------- ");
}
}
}

View File

@@ -0,0 +1,48 @@
package beyondsoft.bewoklientenapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import java.util.logging.Handler;
/**
* Created by bib on 23.05.2016.
*/
public class SplashScreenActivity extends Activity {
private static final int SPLASH_DURATION = 4000;
private Handler startMain;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splashscreen);
Thread logoTimer = new Thread() {
public void run(){
try{
int logoTimer = 0;
while(logoTimer < 2125){
sleep(75);
logoTimer = logoTimer +100;
};
startActivity(new Intent(getBaseContext(),UberprufungsActiviti.class));
}
catch (InterruptedException e) {
e.printStackTrace();
}
finally{
finish();
}
}
};
logoTimer.start();
}
}

View File

@@ -0,0 +1,61 @@
package beyondsoft.bewoklientenapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
/**
* Created by bib on 01.06.2016.
*/
public class UberprufungsActiviti extends Activity {
Button approve;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.approve);
SetButtonAktive();
}
public void SetButtonAktive(){
approve =(Button)findViewById(R.id.button);
approve.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean x = ÜberprüfeRecht();
if(x) {
startActivity(new Intent(getBaseContext(), MainActivityKlient.class));
}else{
}
}
});
}
public boolean ÜberprüfeRecht(){
return true;
}
}

View File

@@ -0,0 +1,559 @@
package beyondsoft.bewoklientenapp;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/**
* Created by bib on 03.05.2016.
*/
public class chatActiviti extends ActionBarActivity {
//View Variablen
protected TextView chat;
protected EditText text;
protected Button senden;
//Server Variablen
public static Socket socket;
protected static final String dstAddress = "192.168.1.115"; //10.0.2.2"
protected static final int dstPort = 5000;
DataOutputStream st;
//Design View
protected ListView listView;
protected boolean isMe = true;
protected List<ChatMessageFormat> chatMessages;
protected ArrayAdapter<ChatMessageFormat> adapter;
ChatMessageFormat chatMessage;
//Save/ Load Variblen
File file;
//Chat Name
protected String name;
//Für Notification
private static boolean isOnStop = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat);
//########### Custom Action Bar ##################################
ActionBar action = getSupportActionBar();
action.setDisplayShowHomeEnabled(false);
action.setDisplayShowTitleEnabled(false);
LayoutInflater inflate = LayoutInflater.from(this);
View mCustomView = inflate.inflate(R.layout.custom_menuebar,null);
//get Daten aus vorheriger Activity
// Bundle zielkorb = getIntent().getExtras();
name = "Hanz";//zielkorb.getString("Name");
// Initialiesiere die Variablen
TextView titlename = (TextView)mCustomView.findViewById(R.id.PersonalName);
ImageView titlepic = (ImageView)mCustomView.findViewById(R.id.PersonalPic);
titlepic.setImageResource(R.drawable.katze3);
titlename.setText(name);
action.setCustomView(mCustomView);
action.setDisplayShowCustomEnabled(true);
//###########################################################################################
senden = (Button)findViewById(R.id.Sendebutton);
//chat = (TextView)findViewById(R.id.ChatText);
//################### Initial Design Variabeln #############################################
chatMessages = new ArrayList<>();
listView = (ListView)findViewById(R.id.list_msg);
adapter = new MessageAdapter(this, R.layout.item_chat_left,chatMessages);
listView.setAdapter(adapter);
//############################ Initial Design Variablen ende ###############################
//############## Safe / Write gedöns #########################################################
CreateFile();
ReadMessageToStorage();
//##########################################################################################
//Öffnet eine Verbindung zum Server
new Thread(new OpenConnection()).start();
text = (EditText)findViewById(R.id.editText);
//Sendet eine Nachricht an den Server/Clienten
senden.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//isMe = true;
if(text.getText().toString().equals("exit")){
//eine möglich keit die connection zu schließen
new Thread(new ConnectionClose()).start();
}else if(!text.getText().toString().equals("")){
new Thread(new SendMS()).start();
}else{
Toast.makeText(chatActiviti.this, "Sie müssen schon Text eingeben ", Toast.LENGTH_SHORT).show();
}
}
});
//Erstelle einen immer horchenden Listener
Thread t = new Thread(new SocketListener());
t.start();
}
//######################### Server/ Client gedöns ##################################################
public class OpenConnection implements Runnable{
public void run(){
try {
socket = new Socket(dstAddress,dstPort);
// Log.v("Status: ","Vorhanden 3");
//nachricht an server senden welcher name jetz aktiv connected ist
st = new DataOutputStream(socket.getOutputStream());
name=name+"/1";
byte[] ts = name.getBytes();
st.write(ts);
st.flush();
} catch (Exception e) {
// e.printStackTrace();
Log.v("Connection: ","Konnte nicht Aufgebaut");
socket = null;
//methode zur abfrage
}
}
}
public class SendMS implements Runnable{
public void run(){
String al = text.getText().toString();
// Log.v("TExt ist :",text.getText().toString());
byte[] ts = al.getBytes();
try{
if(socket!= null ) {
// st = new DataOutputStream(socket.getOutputStream());
st.write(ts);
st.flush();
}
listView.post(new Runnable() {
@Override
public void run() {
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String formattedDate = df.format(c.getTime());
WriteMessagesfromStorage(text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n");
chatMessage = new ChatMessageFormat(text.getText().toString(), isMe, formattedDate);
chatMessages.add(chatMessage);
adapter.notifyDataSetChanged();
text.setText("");
}
});
}catch(IOException s){
Log.v("Status: ","Senden einer Nachricht konnte nicht ausgeführt werden");
//Log.v("hallo",);
s.printStackTrace();
}
}
}
public class ConnectionClose implements Runnable{
public void run(){
try {
// Log.v("Bin ich Überhaupt", "Hier drinne");
if (st != null) {
st.flush();
st.close();
}
if (socket != null)
socket.close();
// Log.v("Schliesen :","?? Möglich");
// }
Log.v("Status","Socket succesfull closed");
}catch(IOException se){
Log.v("Status: ","Schließen nicht möglich. Es ist ein Fehler aufgetreten");
}
}
}
public class SocketListener implements Runnable{
String str;
long i = 1;
BufferedReader in = null;
public void run(){
try{
//DesignTechnische gründe
while(true){
if (socket != null) {
if(socket.isConnected()) {
Log.v("Connection Steht ", "Connection Steht");
//final TextView text = (TextView)findViewById(R.id.ChatText);
final ListView listV = (ListView) findViewById(R.id.list_msg);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String s = in.readLine();
CharSequence cs = text.getText();
// wir nehmen mal cs raus
//str = cs + "\r\n" + s;
str = s;
if (s == null)
break;
//Design Spezifisch
listV.post(new Runnable() {
@Override
public void run() {
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String formattedDate = df.format(c.getTime());
boolean determind = false;
WriteMessagesfromStorage(str+"/"+determind+"%"+formattedDate+"\n");
chatMessage = new ChatMessageFormat(str, determind, formattedDate);
chatMessages.add(chatMessage);
adapter.notifyDataSetChanged();
if(isOnStop == true){
SetNotifi("Bärtiger Hanz",str);
}
}
});
i++;
}
} else {
if (in != null)
in.close();
}
// else Log.v("Connection","nicht aufgebaut"); nach tausend versuchen break und fehler ausgabe
}
}catch(Exception e){
Log.v("Status ","Verbindung zum Server wurde seitens dem Server getrennt ");
// Log.e(getClass().getName(),e.getMessage());
// e.printStackTrace();
}
}
}
//#################################### Server Client Ende ##########################################
//########################### Speichere Message für Server bei unsend #####################################
public void SaveAfterLoseConnection(){
}
public void SendAfterGetConnection(){
}
public void CreateCustomFileForConnection(){
try{
File pfad = getBaseContext().getFilesDir();
//Für external Save
//File pfad = getBaseContext().getExternalFilesDir(null);
//Erstelle das File Objekt
file = new File(pfad,name+"Unsend"+".txt");
}catch(Exception e){
Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich");
}
}
public void DeletUnsendMessage(){
file.delete();
recreate();
}
//####################### Ende Unsend Message Gedöns ###########################################
//############### Menue Bereich ################################################################
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_chat, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_delet_Storage:
file.delete(); //Delet aktuell gespeicherte message
recreate(); // ---> gegebenenfals umändern, aber fürs erste reichts
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//################################################################################################
//############## Setze Notification ############################################################
public void SetNotifi(String Username,String message){
//Convertiert in Pic Resource in ein Bitmap
//BitmapFactory.decodeResource(getResources(), R.drawable.bslogo)
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.bslogo)
.setContentTitle(Username)
.setContentText(message)
.setAutoCancel(true)
//ab hier neuland
.setDefaults(Notification.DEFAULT_SOUND)
.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }) //Notification.Default_Vibrate
.setLights(Color.YELLOW, 3000, 3000) //Notification.Default_Lights
.setOngoing(true);
//neuland ende
Intent resultIntent = new Intent(this, chatActiviti.class);
//versuch ab hier neuland
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
//neuland ende
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
this.getApplicationContext(),
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mBuilder.setContentIntent(resultPendingIntent);
mNotifyMgr.notify(001, mBuilder.build());
}
//##############################################################################################
//################ Activit abfragen ############################################################
public void onResume() {
// Log.v("Stuss","Hier nochmals on creat aufrufen");
isOnStop = false;
super.onResume();
}
public void onStop(){
// Thread t = new Thread(new ConnectionClose());
// t.start();
isOnStop = true;
super.onStop();
}
public void onDestroy(){
Thread t = new Thread(new ConnectionClose());
t.start();
super.onDestroy();
}
//##############################################################################################
//################# Lade/Speichere Die Messages ################################################
//create a File
public void CreateFile(){
try{
File pfad = getBaseContext().getFilesDir();
//Für external Save
//File pfad = getBaseContext().getExternalFilesDir(null);
//Erstelle das File Objekt
file = new File(pfad,name+".txt");
}catch(Exception e){
Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich");
}
// WriteMessagesfromStorage("\n ich teste weiter mit "+name);
}
//Internal Storage
public void WriteMessagesfromStorage(String message){
try{
FileOutputStream stream = new FileOutputStream(file,true);
try{
stream.write(message.getBytes());
}finally {
stream.close();
}
// Log.v("Status","Text: "+message+" wurde gespeichert." );
}catch (Exception e){
Log.v("Fehler 1 ",e.getMessage());
}
}
//Internal storage
public void ReadMessageToStorage(){
try{
// Log.v("Status","Verbindung steht 1");
int lenght = (int) file.length();
byte[] bytes = new byte[lenght];
FileInputStream stream = new FileInputStream(file);
// Log.v("Status","Verbindung steht 2");
InputStreamReader in = new InputStreamReader(stream);
BufferedReader readLn = new BufferedReader(in);
String line = readLn.readLine();
String allLines="";
//Build a readLine konstrukt
while (line != null) {
allLines += line;
//Funktion für das korrekte anzeigen der Geladenen Nachrichten hier implementieren
//---> <---//
//String[] splitt = line.split("/");
// Log.v("Status",line);
String[] splitt = line.split("/");
if(splitt.length >1 ) {
String[] ArtDate = splitt[1].split("%"); //<------------ im code sind als seperator ? gesetzt // lösung einfach alle löschen und neuen chat speichern !!
final String message = splitt[0];
final boolean art = Boolean.valueOf(ArtDate[0]);
final String datetime = ArtDate[1];
listView.post(new Runnable() {
@Override
public void run() {
chatMessage = new ChatMessageFormat(message, art, datetime);
chatMessages.add(chatMessage);
adapter.notifyDataSetChanged();
}
});
}
line = readLn.readLine();
}
stream.close();
in.close();
// Log.v("Local Storage",allLines);
}catch(Exception e){
Log.v("Fehler 2 ",e.getMessage());
e.printStackTrace();
}
}
//##############################################################################################
}

View File

@@ -0,0 +1,59 @@
package beyondsoft.bewoklientenapp;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
/**
* Created by Waldi on 29.04.2016.
*/
public class kasseActiviti extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.kasse);
/* new Thread(new Runnable() {
public void run() {
// ServerAnbindung a1 = new ServerAnbindung();
a1.connect();
}
}).start();
*/
}
@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_kasse, 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_back) {
finish();
}
return super.onOptionsItemSelected(item);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="3dp"
android:color="#4799E8"/>
<corners android:radius="5dp" />
<gradient
android:startColor="#C8C8C8"
android:endColor="#FFFFFF"
android:type="linear"
android:angle="270"/>
</shape>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="3dp"
android:color="#742324"/>
<corners android:radius="0dp" />
<gradient
android:startColor="#C8C8C8"
android:endColor="#FFFFFF"
android:type="linear"
android:angle="270"/>
</shape>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring">
<solid android:color="#FF9900"/>
<fill android:color="#FF9900"/>
</shape>

View File

@@ -0,0 +1,58 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivityKlient">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Kalender"
android:id="@+id/KalenderButton"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginStart="25dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="25dp"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Kasse"
android:id="@+id/KassenButton"
android:layout_below="@+id/KalenderButton"
android:layout_alignStart="@+id/KalenderButton"
android:layout_marginTop="50dp"
android:layout_marginEnd="25dp"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Chat"
android:id="@+id/Chatbutton"
android:layout_below="@+id/KassenButton"
android:layout_alignStart="@+id/KassenButton"
android:layout_marginEnd="25dp"
android:layout_marginTop="50dp"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Logout"
android:id="@+id/Logoutbutton"
android:layout_below="@+id/Chatbutton"
android:layout_alignEnd="@+id/Chatbutton"
android:layout_alignStart="@+id/Chatbutton"
android:layout_marginTop="50dp"
/>
</RelativeLayout>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="Überprüfen"
android:id="@+id/button"
android:layout_gravity="center_horizontal"
android:layout_marginTop="59dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView"
android:layout_marginTop="227dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignStart="@+id/button" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Code:"
android:id="@+id/textView2"
android:layout_alignBottom="@+id/textView"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/textView"
android:layout_toStartOf="@+id/textView"
android:textSize="30dp"
android:textIsSelectable="false" />
</RelativeLayout>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin"
android:background="@android:color/holo_orange_dark"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.9">
<ListView
android:id="@+id/list_msg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/activity_horizontal_margin"
android:divider="@null"
android:listSelector="@android:color/transparent"
android:transcriptMode="alwaysScroll" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="22dp"
android:layout_weight="0.1"
android:orientation="horizontal"
>
<!--Linear Layout: android:layout_height="0dp" //50
Edit Text : android:layout_height="match_parent" android:minHeight="75dp"
-->
<EditText
android:layout_width="275dp"
android:layout_height="wrap_content"
android:background="@drawable/edittext"
android:id="@+id/editText"
android:hint="@string/hinttxt_chat"
android:padding="10dp"
/>
<!-- width -> 300dp heigh -> 60dp android:layout_marginBottom="30dp" android:layout_marginBottom="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
match parent
android:background="@drawable/roundedbutton"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/ChatText"
android:layout_toRightOf="@+id/editText"
Button height match parent
-->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Chatbutton_name"
android:background="@drawable/abc_btn_radio_material"
android:id="@+id/Sendebutton"
/>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="45dp"
>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:id="@+id/PersonalPic"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="2dp"
/>
<!-- android:src="@drawable/bslogo"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAllCaps="true"-->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:layout_centerInParent="true"
android:id="@+id/PersonalName"
android:layout_margin="45dp"
/>
<!-- Merke das design muss noch angepasst werden da der text über dem bild liegt /
vorläufig gelöst mit margin dies kann aber nicht die endgültige lösung sein -->
</RelativeLayout>

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:background="@drawable/out_message_bg"
android:paddingBottom="4dp"
android:orientation="vertical"
>
<!-- in diesem bereich noch das datum anzeigen und uhrzeit -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/DateOUT"
android:textSize="8dp"
/>
<TextView
android:id="@+id/txt_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:maxWidth="250dp"
android:textColor="@android:color/black" />
</LinearLayout>
</RelativeLayout>
<!-- padding 10 -->

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/in_message_bg"
android:orientation="vertical"
android:paddingBottom="4dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/DateIN"
android:textSize="8dp"
/>
<TextView
android:id="@+id/txt_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="250dp"
android:padding="5dp"
android:textColor="@android:color/black"/>
</LinearLayout>
</RelativeLayout>
<!-- -->

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/in_server_message_bg"
android:orientation="vertical"
android:paddingBottom="4dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/DateIN"
android:textSize="8dp"
/>
<TextView
android:id="@+id/txt_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="250dp"
android:padding="5dp"
android:textColor="@android:color/black"/>
</LinearLayout>
</RelativeLayout>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:background="#ffffffff"
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/bslogo"
android:scaleType="fitCenter" />
</RelativeLayout>

View File

@@ -0,0 +1,29 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".CalenderActiviti">
<!--<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
<item
android:id="@+id/action_back"
android:title="@string/action_back"
android:orderInCategory="100"
app:showAsAction="never"
/>
<!-- <item
android:id="@+id/action_Logout"
android:title="@string/action_Logout"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
</menu>

View File

@@ -0,0 +1,28 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".chatActiviti">
<!-- <item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
<item
android:id="@+id/action_delet_Storage"
android:title="@string/Clear"
android:orderInCategory="100"
/>
<!-- <item
android:id="@+id/action_Logout"
android:title="@string/action_Logout"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
</menu>

View File

@@ -0,0 +1,28 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".kasseActiviti">
<!--<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
<item
android:id="@+id/action_back"
android:title="@string/action_back"
android:orderInCategory="100"
app:showAsAction="never"
/>
<!-- <item
android:id="@+id/action_Logout"
android:title="@string/action_Logout"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
</menu>

View File

@@ -0,0 +1,23 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivityKlient">
<!--<item Settings zum einstellen villeicht
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"
/>-->
<item
android:id="@+id/action_Logout"
android:title="@string/action_Logout"
android:orderInCategory="100"
app:showAsAction="never"
/>
</menu>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,6 @@
<resources>
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
(such as screen margins) for screens with more than 820dp of available width. This
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
<dimen name="activity_horizontal_margin">64dp</dimen>
</resources>

View File

@@ -0,0 +1,5 @@
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>

View File

@@ -0,0 +1,14 @@
<resources>
<string name="app_name">BewoKlientenApp</string>
<string name="action_Logout">Logout</string>
<string name="action_back">Zurück</string>
<string name="action_settings">Settings</string>
<string name="message_hint">Sag Was</string>
<string name="send">Senderon</string>
<string name="Chatbutton_name" >S</string>
<string name="hinttxt_chat">Nachricht Schreiben</string>
<string name="Clear">Lösche Konversation</string>
</resources>

View File

@@ -0,0 +1,8 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>

View File

@@ -0,0 +1,19 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}

View File

@@ -0,0 +1,18 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

Binary file not shown.

View File

@@ -0,0 +1,6 @@
#Mon May 09 08:53:20 CEST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

164
Android/BewoKlientenApp/gradlew vendored Normal file
View File

@@ -0,0 +1,164 @@
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

90
Android/BewoKlientenApp/gradlew.bat vendored Normal file
View File

@@ -0,0 +1,90 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View File

@@ -0,0 +1 @@
include ':app'

6
Android/BewoMitarbeiterApp/.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build

1
Android/BewoMitarbeiterApp/.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
BewoMitarbeiterApp

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
<entry name="!?*.aj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>

View File

@@ -0,0 +1,3 @@
<component name="CopyrightManager">
<settings default="" />
</component>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="C:\Program Files\Android\Android Studio\gradle\gradle-2.10" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/volley" />
</set>
</option>
<option name="myModules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/volley" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
<component name="SvnBranchConfigurationManager">
<option name="mySupportsUserInfoFilter" value="true" />
</component>
</project>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/BewoMitarbeiterApp.iml" filepath="$PROJECT_DIR$/BewoMitarbeiterApp.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/volley/volley.iml" filepath="$PROJECT_DIR$/volley/volley.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="svn" />
</component>
</project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="BewoMitarbeiterApp" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="java-gradle" name="Java-Gradle">
<configuration>
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
<option name="BUILDABLE" value="false" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="BewoMitarbeiterApp" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":app" />
</configuration>
</facet>
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
<task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
<orderEntry type="library" exported="" name="ksoap2-android-assembly-3.6.0-jar-with-dependencies" level="project" />
<orderEntry type="library" exported="" name="gson-2.6.2" level="project" />
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
<orderEntry type="library" exported="" name="commons-lang3-3.3.2" level="project" />
<orderEntry type="library" exported="" name="commons-io-1.3.2" level="project" />
<orderEntry type="library" exported="" name="robospice-1.4.14" level="project" />
<orderEntry type="library" exported="" name="robospice-cache-1.4.14" level="project" />
<orderEntry type="module" module-name="volley" exported="" />
<orderEntry type="library" exported="" name="android-android-21" level="project" />
</component>
</module>

View File

@@ -0,0 +1,29 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '23.0.2'
defaultConfig {
applicationId "beyondsoft.bewomitarbeiterapp"
minSdkVersion 18
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/gson-2.6.2.jar')
compile files('libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar')
compile 'com.octo.android.robospice:robospice:1.4.14'
compile project(":volley")
}

View File

@@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Users\bib\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@@ -0,0 +1,13 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="beyondsoft.bewomitarbeiterapp">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".SplashScreenActivity"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".MainActivityMitarbeiter"
android:label="@string/app_name_haupt">
<intent-filter>
<action android:name="android.intent.activity_main_activity_mitarbeiter"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name=".KontaktChatActivity"
android:label="@string/app_name_kontakt">
<intent-filter>
<action android:name="android.intent.kontakt_list_chat"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name=".WebdokuActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.webdoku"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name=".ChatActivity"
android:label="@string/app_name_chat">
<intent-filter>
<action android:name="android.intent.chat"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<!-- android:noHistory="true" -->
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login">
</activity>
<activity android:name=".TokenActivity">
</activity>
<service
android:name="com.octo.android.robospice.UncachedSpiceService"
android:exported="false" />
</application>
</manifest>

View File

@@ -0,0 +1,750 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Message;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.IntentCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.text.Html;
import android.text.format.DateFormat;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
/**
* Created by bib on 03.05.2016.
*/
public class ChatActiviti extends ActionBarActivity{
//View Variablen
protected TextView chat;
protected EditText text;
protected Button senden;
//Server Variablen
public static Socket socket;
protected static final String dstAddress = "192.168.1.115"; //10.0.2.2"
protected static final int dstPort = 5000;
DataOutputStream st;
String SaveCompletteMS;
BufferedReader in = null;
//Design View
protected ListView listView;
protected boolean isMe = true;
protected List<ChatMessageFormat> chatMessages;
protected ArrayAdapter<ChatMessageFormat> adapter;
ChatMessageFormat chatMessage;
Thread currentlisten;
//Save/ Load Variblen
File file;
File Unsendfile = null;
//Chat Name
protected String name;
//Für Notification
private static boolean isOnStop = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat);
//########### Custom Action Bar ##################################
ActionBar action = getSupportActionBar();
action.setDisplayShowHomeEnabled(false);
action.setDisplayShowTitleEnabled(false);
LayoutInflater inflate = LayoutInflater.from(this);
View mCustomView = inflate.inflate(R.layout.custom_menuebar,null);
// Initialiesiere die Variablen
TextView titlename = (TextView)mCustomView.findViewById(R.id.PersonalName);
ImageView titlepic = (ImageView)mCustomView.findViewById(R.id.PersonalPic);
//get Daten aus vorheriger Activity
Bundle zielkorb = getIntent().getExtras();
name = zielkorb.getString("Name");
byte[] bildArray = zielkorb.getByteArray("Bild");
Bitmap customerImage;
//ein try catch wäre vorteilhaft || Später
if(bildArray != null) {
customerImage = BitmapFactory.decodeByteArray(bildArray, 0, bildArray.length);
titlepic.setImageBitmap(GetCircleBitmap(customerImage));
}
//Online Status listener
/* ImageView img = (ImageView) mCustomView.findViewById(R.id.status);
img.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ChatActiviti.this.openOptionsMenu(); // activity's onCreateOptionsMenu gets called
//optionsMenu.performIdentifierAction(R.id., 0);
}
});*/
titlename.setText(name);
action.setCustomView(mCustomView);
action.setDisplayShowCustomEnabled(true);
//###########################################################################################
senden = (Button)findViewById(R.id.Sendebutton);
//chat = (TextView)findViewById(R.id.ChatText);
//################### Initial Design Variabeln Message Adapter #############################################
chatMessages = new ArrayList<>();
listView = (ListView)findViewById(R.id.list_msg);
adapter = new MessageAdapter(this, R.layout.item_chat_left,chatMessages);
listView.setAdapter(adapter);
//############################ Initial Design Variablen ende ###############################
//########################### Initial Socket ###############################################
try {
MainActivityMitarbeiter.isThreadPause = true;
socket = MainActivityMitarbeiter.socket;
in = MainActivityMitarbeiter.in;
//nachricht an server senden welcher name jetz aktiv connected ist
st = new DataOutputStream(socket.getOutputStream());
}catch(Exception e){/*Fail*/}
// MainActivityMitarbeiter.listen.interrupt();
// MainActivityMitarbeiter.listen = null;
//##########################################################################################
//############## Safe / Write gedöns #########################################################
CreateFile();
ReadMessageToStorage();
//##########################################################################################
//Öffnet eine Verbindung zum Server
// new Thread(new OpenConnection()).start();
text = (EditText)findViewById(R.id.editText);
//Sendet eine Nachricht an den Server/Clienten
senden.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//isMe = true;
if(text.getText().toString().equals("exit")){
//eine möglich keit die connection zu schließen
// new Thread(new ConnectionClose()).start();
}else if(!text.getText().toString().equals("")){
new Thread(new SendMS()).start();
}else{
Toast.makeText(ChatActiviti.this, "Sie müssen schon Text eingeben ", Toast.LENGTH_SHORT).show();
}
}
});
//Erstelle einen immer horchenden Listener
Thread t = new Thread(new SocketListener());
t.start();
//MainActivityMitarbeiter.listen.sus
}
//######################### Server/ Client gedöns ##################################################
/*public class OpenConnection implements Runnable{
public void run(){
try {
socket = new Socket(dstAddress,dstPort);
// Log.v("Status: ","Vorhanden 3");
//nachricht an server senden welcher name jetz aktiv connected ist
st = new DataOutputStream(socket.getOutputStream());
name=name+"/1";
byte[] ts = name.getBytes();
st.write(ts);
st.flush();
} catch (Exception e) {
// e.printStackTrace();
Log.v("Connection: ","Konnte nicht Aufgebaut");
socket = null;
//methode zur abfrage
}
}
}*/
public class SendMS implements Runnable{
public void run(){
String al = text.getText().toString();
byte[] ts = al.getBytes();
try{
if(socket!= null ) {
//try catch bei catch SaveAfterLoseConnection();
st.write(ts);
st.flush();
}
listView.post(new Runnable() {
@Override
public void run() {
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String formattedDate = df.format(c.getTime());
SaveCompletteMS = text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n";
WriteMessagesfromStorage(text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n");
chatMessage = new ChatMessageFormat(text.getText().toString(), isMe, formattedDate);
chatMessages.add(chatMessage);
adapter.notifyDataSetChanged();
text.setText("");
}
});
}catch(IOException s){
Log.v("Status: ","Senden einer Nachricht konnte nicht ausgeführt werden. Save wird ausgeführt");
//Log.v("hallo",);
SaveAfterLoseConnection(SaveCompletteMS);
s.printStackTrace();
}
}
}
/* public class ConnectionClose implements Runnable{
public void run(){
try {
// Log.v("Bin ich Überhaupt", "Hier drinne");
if (st != null) {
st.flush();
st.close();
}
if (socket != null)
socket = null;
// Log.v("Schliesen :","?? Möglich");
// }
Log.v("Status","Socket succesfull closed");
}catch(IOException se){
Log.v("Status: ","Schließen nicht möglich. Es ist ein Fehler aufgetreten");
}
}
}*/
// Erhalte Messages all the time
public class SocketListener implements Runnable{
String str;
long i = 1;
//BufferedReader in = null;
public void run(){
try{
//DesignTechnische gründe
Log.v("Komme","ICh den Rein");
while(true){
if (socket != null) {
Log.v("Komme","So wie es aussieht nicht ");
if(socket.isConnected()) {
Log.v("Connection Steht ", "Connection Steht");
Log.v("Komme","So wie es aussieht nicht2 ");
//final TextView text = (TextView)findViewById(R.id.ChatText);
final ListView listV = (ListView) findViewById(R.id.list_msg);
Log.v("Komme","So wie es aussieht nicht 3");
// in = new BufferedReader(new InputStreamReader(MainActivityMitarbeiter.socket.getInputStream()));
/*---> da wird das pendant ausgeführt und nicht dieses */ String s = in.readLine();
Log.v("Komme","So wie es aussieht nicht 4");
CharSequence cs = text.getText();
// wir nehmen mal cs raus
//str = cs + "\r\n" + s;
str = s;
if (s == null)
break;
//Design Spezifisch
listV.post(new Runnable() {
@Override
public void run() {
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String formattedDate = df.format(c.getTime());
boolean determind = false;
WriteMessagesfromStorage(str+"/"+determind+"%"+formattedDate+"\n");
chatMessage = new ChatMessageFormat(str, determind, formattedDate);
chatMessages.add(chatMessage);
adapter.notifyDataSetChanged();
Log.v("","");
if(isOnStop == true){
SetNotifi("Bärtiger Hanz",str);
}
}
});
i++;
}
} else {
if (in != null)
in.close();
}
// else Log.v("Connection","nicht aufgebaut"); nach tausend versuchen break und fehler ausgabe
}
}catch(Exception e){
Log.v("Status ","Verbindung zum Server wurde seitens dem Server getrennt ");
// Log.e(getClass().getName(),e.getMessage());
// e.printStackTrace();
}
}
}
//#################################### Server Client Ende ##########################################
//########################### Speichere Message für Server bei unsend #####################################
public void SaveAfterLoseConnection(String UnsendMessage){
CreateCustomFileForUnSendMessage();
try{
FileOutputStream stream = new FileOutputStream(Unsendfile,true);
try{
stream.write(UnsendMessage.getBytes());
}finally {
stream.close();
}
}catch (Exception e){
Log.v("Fehler",e.getMessage());
}
}
public void SendAfterGetConnection(){
//ist eine UnsendMessage File vorhanden
if(Unsendfile != null && socket.isConnected()){
try{
FileInputStream stream = new FileInputStream(Unsendfile);
InputStreamReader in = new InputStreamReader(stream);
BufferedReader readLn = new BufferedReader(in);
String line = readLn.readLine();
String allLines="";
while (line != null) {
allLines += line;
String[] splitt = line.split("/");
if(splitt.length >1 ) {
String[] ArtDate = splitt[1].split("%");
final String message = splitt[0];
final boolean art = Boolean.valueOf(ArtDate[0]);
final String datetime = ArtDate[1];
//für jede Gelesene Line Sende Nachricht
new Thread(new SendUnsendMS(message)).start();
}
line = readLn.readLine();
}
stream.close();
in.close();
Unsendfile.delete();
}catch(Exception fe){
Log.v("Status","Ein problem ist im BEreich Unsend Ms Aufgetreten");
}
//recreate();
}
}
public class SendUnsendMS implements Runnable{
String al;
SendUnsendMS(String unMS){
this.al = unMS;
}
public void run() {
//String al = text.getText().toString();
byte[] ts = al.getBytes();
try {
if (socket != null && st != null) {
//try catch bei catch SaveAfterLoseConnection();
st.write(ts);
st.flush();
}
}catch(Exception xs){
}
}
}
public void CreateCustomFileForUnSendMessage(){
try{
File pfad = getBaseContext().getFilesDir();
//Für external Save
//File pfad = getBaseContext().getExternalFilesDir(null);
//Erstelle das File Objekt
Unsendfile = new File(pfad,name+"_Unsend"+".txt");
}catch(Exception e){
Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich");
}
}
//####################### Ende Unsend Message Gedöns ###########################################
//############### Menue Bereich ################################################################
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menue_chat, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_delet_Storage:
file.delete(); //Delet aktuell gespeicherte message
recreate(); // ---> gegebenenfals umändern, aber fürs erste reichts
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//################################################################################################
//############## Setze Notification ############################################################
public void SetNotifi(String Username,String message){
//Convertiert in Pic Resource in ein Bitmap
//BitmapFactory.decodeResource(getResources(), R.drawable.bslogo)
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.bslogo)
.setContentTitle(Username)
.setContentText(message)
.setAutoCancel(true)
//ab hier neuland
.setDefaults(Notification.DEFAULT_SOUND)
.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }) //Notification.Default_Vibrate
.setLights(Color.YELLOW, 3000, 3000) //Notification.Default_Lights
.setOngoing(true);
//neuland ende
Intent resultIntent = new Intent(this, ChatActiviti.class);
//versuch ab hier neuland
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
//neuland ende
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
this.getApplicationContext(),
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mBuilder.setContentIntent(resultPendingIntent);
mNotifyMgr.notify(001, mBuilder.build());
}
//##############################################################################################
//################ Activit abfragen ############################################################
public void onResume() {
// Log.v("Stuss","Hier nochmals on creat aufrufen");
isOnStop = false;
MainActivityMitarbeiter.isThreadPause = true;
super.onResume();
}
public void onStop(){
// Thread t = new Thread(new ConnectionClose());
// t.start();
MainActivityMitarbeiter.isThreadPause = false;
isOnStop = true;
super.onStop();
}
public void onDestroy(){
// Thread t = new Thread(new ConnectionClose());
// t.start();
// currentlisten = null;
MainActivityMitarbeiter.isThreadPause = false;
super.onDestroy();
}
//##############################################################################################
//################# Lade/Speichere Die Messages ################################################
//create a File
public void CreateFile(){
try{
File pfad = getBaseContext().getFilesDir();
//Für external Save
//File pfad = getBaseContext().getExternalFilesDir(null);
//Erstelle das File Objekt
//file = new File(pfad,name+".txt");
//vorläufig ##### für debug zwecke
file = new File(pfad,"demo"+".txt");
}catch(Exception e){
Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich");
}
}
//Internal Storage
public void WriteMessagesfromStorage(String message){
try{
FileOutputStream stream = new FileOutputStream(file,true);
try{
stream.write(message.getBytes());
}finally {
stream.close();
}
// Log.v("Status","Text: "+message+" wurde gespeichert." );
}catch (Exception e){
Log.v("Fehler 1 ",e.getMessage());
}
}
//Internal storage
public void ReadMessageToStorage(){
try{
// Log.v("Status","Verbindung steht 1");
int lenght = (int) file.length();
byte[] bytes = new byte[lenght];
FileInputStream stream = new FileInputStream(file);
// Log.v("Status","Verbindung steht 2");
InputStreamReader in = new InputStreamReader(stream);
BufferedReader readLn = new BufferedReader(in);
String line = readLn.readLine();
String allLines="";
//Build a readLine konstrukt
while (line != null) {
allLines += line;
//Funktion für das korrekte anzeigen der Geladenen Nachrichten hier implementieren
//---> <---//
//String[] splitt = line.split("/");
// Log.v("Status",line);
String[] splitt = line.split("/");
if(splitt.length >1 ) {
String[] ArtDate = splitt[1].split("%"); //<------------ im code sind als seperator ? gesetzt // lösung einfach alle löschen und neuen chat speichern !!
final String message = splitt[0];
final boolean art = Boolean.valueOf(ArtDate[0]);
final String datetime = ArtDate[1];
listView.post(new Runnable() {
@Override
public void run() {
chatMessage = new ChatMessageFormat(message, art, datetime);
chatMessages.add(chatMessage);
adapter.notifyDataSetChanged();
}
});
}
line = readLn.readLine();
}
stream.close();
in.close();
// Log.v("Local Storage",allLines);
}catch(Exception e){
Log.v("Fehler 2 ",e.getMessage());
e.printStackTrace();
}
}
//##############################################################################################
//################# Convert Bitmap for a circled bitmap ########################################
private Bitmap GetCircleBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
int color = Color.RED;
Paint paint = new Paint();
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
RectF rectF = new RectF(rect);
//bis hierhin war alles final
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawOval(rectF, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
bitmap.recycle();
return output;
}
//##############################################################################################
}

View File

@@ -0,0 +1,25 @@
package beyondsoft.bewomitarbeiterapp;
/**
* Created by bib on 19.05.2016.
*/
public class ChatMessageFormat {
private boolean isMe;
private String message;
private String datum;
//villeicht eine issend variable einbauen
ChatMessageFormat(String message, boolean isMe,String datum){
this.message = message;
this.isMe = isMe;
this.datum = datum;
}
public boolean getIsME(){return isMe;}
public String getMessage(){return message;}
public String getDatum(){return datum;}
}

View File

@@ -0,0 +1,84 @@
package beyondsoft.bewomitarbeiterapp;
/**
* Created by bib on 07.06.2016.
*/
public class ContactList {
private int _id;
private String _kontaktname;
private String _art;
private byte[] _picture;
//default Construkt
public ContactList(){}
//Construkt 1
public ContactList(int id, String kontaktname, String art,byte[] picture){
this._id = id;
this._kontaktname = kontaktname;
this._art = art;
this._picture = picture;
}
//Construkt 2
public ContactList(String kontaktname,String art,byte[] picture){
this._kontaktname = kontaktname;
this._art = art;
this._picture = picture;
}
//Construkt 3
public ContactList(String kontaktname,String art){
this._kontaktname = kontaktname;
this._art = art;
this._picture = null;
}
//Construkt4
public ContactList(int id, String kontaktname, String art){
this._id = id;
this._kontaktname = kontaktname;
this._art = art;
this._picture = null;
}
//ID
public int getID(){
return this._id;
}
public void setID(int id){
this._id = id;
}
// KONTAKT
public String getKontaktName(){
return this._kontaktname;
}
public void setKontaktName(String k){
this._kontaktname = k;
}
//ART
public String getArt(){
return this._art;
}
public void setArt(String a){
this._art = a;
}
//Picture
public byte[] getPicture(){
return this._picture;
}
public void setPicture(byte[] d){
this._picture = d;
}
}

View File

@@ -0,0 +1,144 @@
package beyondsoft.bewomitarbeiterapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
/**
* Created by bib on 07.06.2016.
*/
public class DatabaseHandler extends SQLiteOpenHelper {
//DataBase version
private static final int DATABASE_VERSION = 1;
//Database name
private static final String DATABASE_NAME = "Contacts_Manager";
//Table Name
private static final String TABLE_CONTACTS = "Contactlist";
//Table Columns name
private static final String KEY_ID ="id";
private static final String KEY_KontaktName = "kontaktname";
private static final String KEY_ART = "art";
private static final String KEY_Picture_BLOB = "bild";
public DatabaseHandler(Context context){
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
// Erstelle Tabelle | Tabellen construct
public void onCreate(SQLiteDatabase db){
String CREATE_CONTACTS_TABLE ="CREATE TABLE "+TABLE_CONTACTS +"("+
KEY_ID +" INTEGER PRIMARY KEY,"+KEY_KontaktName+ " TEXT,"+
KEY_ART +" TEXT," + KEY_Picture_BLOB+ " BLOB"+")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
//drop older Table if existed
db.execSQL("DROP TABLE IF EXISTS "+ TABLE_CONTACTS);
onCreate(db);
}
//Add Neuen Contact
void addContact(ContactList contact) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
//Values übergabe
values.put(KEY_KontaktName,contact.getKontaktName());
values.put(KEY_ART,contact.getArt());
values.put(KEY_Picture_BLOB,contact.getPicture());
db.insert(TABLE_CONTACTS,null,values);
db.close();
}
//Hole ein Bestimten Contact
ContactList getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[]{KEY_ID,KEY_KontaktName,
KEY_ART,KEY_Picture_BLOB},KEY_ID +"=?",new String[]{String.valueOf(id)}
,null,null,null,null);
if(cursor !=null)
cursor.moveToFirst();
ContactList clist = new ContactList(Integer.parseInt(cursor.getString(0)),cursor.getString(1),
cursor.getString(2),cursor.getBlob(3));
return clist;
}
//Holle alle Contacts
public List<ContactList> getAllContacts(){
List<ContactList> contactList = new ArrayList<ContactList>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
ContactList contact = new ContactList();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setKontaktName(cursor.getString(1));
contact.setArt(cursor.getString(2));
contact.setPicture(cursor.getBlob(3));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}
return contactList;
}
//updating single Contact
public int updateContact(ContactList contact) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_KontaktName, contact.getKontaktName());
values.put(KEY_ART, contact.getArt());
values.put(KEY_Picture_BLOB, contact.getPicture());
// updating row
return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
new String[] { String.valueOf(contact.getID()) });
}
//Delet single Contact
public void deletContacts(ContactList contact){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
new String[] { String.valueOf(contact.getID()) });
db.close();
}
public int getContactsCount(){
String countQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
// return count
return cursor.getCount();
}
}

View File

@@ -0,0 +1,332 @@
package beyondsoft.bewomitarbeiterapp;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.media.Image;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.List;
/**
* Created by bib on 03.05.2016.
*/
public class KontaktAdapter extends ArrayAdapter<ContactList> {
private final Context context;
private final ContactList[] values;
// private final List<ContactList> contactlist;
private Bitmap bitmaping;
ImageView imageView;
TextView minitext;
private String[] filedaten;
Thread getM;
Thread getPic;
public KontaktAdapter(Context context, ContactList[] values) {
super(context, R.layout.kontakt_list_chat,values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.kontakt_list_chat, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);
minitext = (TextView) rowView.findViewById(R.id.subtitle);
// TextView lasttime = (TextView) rowView.findViewById(R.id.lasttime);
ImageView onlinestats = (ImageView)rowView.findViewById(R.id.status);
imageView = (ImageView) rowView.findViewById(R.id.logo);
// ImageView Bau die Kontakt View auf
textView.setText(values[position].getKontaktName());
//Textzuweisung auf die methode verlagern
if(values[position].getKontaktName().equals("Demo")) {
getM = new Thread(new ReadLastMessage(values[position].getKontaktName(), inflater));
getM.start();
}else
minitext.setText("Hier könnte auch ihre Nachricht stehen");
Log.v("Bis hierhin","Alles correct");
//get last Message from File
//filedaten = ReadLastMessage(values[position].getKontaktName(),inflater);
//abfrage mit demo ist provisorium weil zurzeit alle auf demo zugreifen würden
/*if(values[position].getKontaktName().equals("Demo") && filedaten != null)
minitext.setText(filedaten[0]);
else
minitext.setText("Hier könnte auch ihre Nachricht stehen");*/
//lasttime.setText(filedaten[1]);
//ab hier fehlerhaft
if(values[position].getPicture() != null) {
//Konvert byte[] to Image
Bitmap i = BitmapFactory.decodeByteArray(values[position].getPicture(),0,values[position].getPicture().length);
getPic = new Thread(new GetCircleBitmap(i));
getPic.start();
// t.interrupt();
//imageView.setImageBitmap(bitmaping);
}else {
//wenn der kontakt kein bild besitzt dann nimm Default bild
//Bitmap customerImage =((BitmapDrawable).getDrawable(R.drawable.katze3)).getBitmap();
Bitmap bitmap = BitmapFactory.decodeResource(inflater.getContext().getResources(), R.drawable.katze3);
// imageView.setImageResource(R.drawable.katze3);
getPic = new Thread(new GetCircleBitmap(bitmap));
getPic.start();
// imageView.setImageBitmap(bitmaping);
}
//if statement ob kontakt online oder net
if(values[position].getArt().equals("1"))
onlinestats.setImageResource(R.drawable.online);
else if(values[position].getArt().equals("2"))
onlinestats.setImageResource(R.drawable.beschaftigt);
else if(values[position].getArt().equals("3"))
onlinestats.setImageResource(R.drawable.offline);
return rowView;
}
public class GetCircleBitmap implements Runnable{
Bitmap bitmap;
GetCircleBitmap(Bitmap _bitmap){
this.bitmap = _bitmap;
}
public void run(){
final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(output);
final int color = Color.RED;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawOval(rectF, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
bitmap.recycle();
bitmaping = output;
Log.v("GET Circled"," Picture");
//if(imageView != null)
// imageView.setImageBitmap(output);
imageView.post(new Runnable() {
@Override
public void run() {
imageView.setImageBitmap(bitmaping);
}
});
}
}
//Convert Bitmap for a circled bitmap
/*private Bitmap GetCircleBitmap(Bitmap bitmap ) {
final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(output);
final int color = Color.RED;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawOval(rectF, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
bitmap.recycle();
return output;
}*/
public class ReadLastMessage implements Runnable{
LayoutInflater inflater;
String filename;
ReadLastMessage(String _filename,LayoutInflater _inflater){
this.inflater = _inflater;
this.filename = _filename;
}
public void run(){
try{
File filesDir = inflater.getContext().getFilesDir();
File file = new File(filesDir, "demo" +".txt"); //---->filename
FileInputStream stream = new FileInputStream(file);
InputStreamReader in = new InputStreamReader(stream);
BufferedReader readLn = new BufferedReader(in);
String line = readLn.readLine();
String allLines="";
String [] ret= new String[2];
while (line != null) {
allLines += line;
String[] splitt = line.split("/");
if(splitt.length >1 ) {
String[] ArtDate = splitt[1].split("%");
final String message = splitt[0];
final boolean art = Boolean.valueOf(ArtDate[0]);
final String datetime = ArtDate[1];
if(!art) {
ret[0] = message;
ret[1] = datetime;
}
}
line = readLn.readLine();
}
stream.close();
in.close();
// filedaten =ret;
if(minitext != null)
minitext.setText(ret[0]);
}catch(Exception e){
Log.v("Fehler 2 ",e.getMessage());
e.printStackTrace();
// return null;
}
}
}
public String[] ReadLastMessage(String filename,LayoutInflater inflater){
try{
File filesDir = inflater.getContext().getFilesDir();
File file = new File(filesDir, "demo" +".txt"); //---->filename
FileInputStream stream = new FileInputStream(file);
InputStreamReader in = new InputStreamReader(stream);
BufferedReader readLn = new BufferedReader(in);
String line = readLn.readLine();
String allLines="";
String [] ret= new String[2];
while (line != null) {
allLines += line;
String[] splitt = line.split("/");
if(splitt.length >1 ) {
String[] ArtDate = splitt[1].split("%");
final String message = splitt[0];
final boolean art = Boolean.valueOf(ArtDate[0]);
final String datetime = ArtDate[1];
if(!art) {
ret[0] = message;
ret[1] = datetime;
}
}
line = readLn.readLine();
}
stream.close();
in.close();
return ret;
}catch(Exception e){
Log.v("Fehler 2 ",e.getMessage());
e.printStackTrace();
return null;
}
}
}

View File

@@ -0,0 +1,127 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.StackView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Toast;
import java.io.ByteArrayOutputStream;
import java.util.List;
/**
* Created by bib on 02.05.2016.
*/
public class KontaktChatActiviti extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//erstelle für Demo ein pic einmalig
/* ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap a =((BitmapDrawable)getResources().getDrawable(R.drawable.bslogo)).getBitmap();
a.compress(Bitmap.CompressFormat.JPEG,0,stream);
byte[] x = stream.toByteArray();
*/
DatabaseHandler db = new DatabaseHandler(this);
//Clear Database from Data
/* db.onUpgrade(db.getReadableDatabase(),1,2);
//Add New ContactList
db.addContact(new ContactList("Demo","1",x));
db.addContact(new ContactList("Peter Fritz","2"));
db.addContact(new ContactList("mattis Schlitz","3"));
db.addContact(new ContactList("jan Detlef","2"));
*/
List<ContactList> lc = db.getAllContacts();
ContactList[] Klientel = lc.toArray(new ContactList[lc.size()]);
setListAdapter(new KontaktAdapter(this,Klientel));
db.close();
}
//############### Menue bereiche ##########################
@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_activity_mitarbeiter, 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_Logout) {
System.exit(0);
}
return super.onOptionsItemSelected(item);
}
//########################################################
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
//get selected items
ContactList selectedValue = (ContactList) getListAdapter().getItem(position);
Toast.makeText(this, selectedValue.getKontaktName(), Toast.LENGTH_SHORT).show();
//
Bundle korb = new Bundle();
korb.putString("Name",selectedValue.getKontaktName());
Intent in = new Intent(getBaseContext(), ChatActiviti.class);
in.putExtras(korb);
//gebe bild mit für den Cat
if(selectedValue.getPicture() == null){
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap a = BitmapFactory.decodeResource(getResources(), R.drawable.katze3);
a.compress(Bitmap.CompressFormat.JPEG,0,stream);
byte[] x = stream.toByteArray();
in.putExtra("Bild",x);
}else
in.putExtra("Bild",selectedValue.getPicture());
startActivity(in);
}
}

View File

@@ -0,0 +1,115 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by bib on 02.05.2016.
*/
public class LoginActiviti extends ActionBarActivity {
//##################### Variablen ####################
protected Button loginbutton;
protected Button beendenbutton;
protected EditText kunnr;
protected EditText user;
protected EditText paswd;
protected String[] MitarbeiterloginString = new String[3];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
setzeButtonListener();
setzeEditText();
}
//########################## Action events der Jeweiligen Buttons
public void LoginApp(){
//Server Überprüfung mit den werten
//Hier mus Serveraufruf mit rückgabe wert als string array
MitarbeiterloginString[0]="placeholder";
MitarbeiterloginString[1]="placeholder";
MitarbeiterloginString[2]="placeholder";
if(kunnr.getText().toString().equals(MitarbeiterloginString[0]) && user.getText().toString().equals(MitarbeiterloginString[1]) && paswd.getText().toString().equals(MitarbeiterloginString[2])) {
startActivity(new Intent(getBaseContext(), MainActivityMitarbeiter.class));
}else if(user.getText().toString().equals("demo")){
startActivity(new Intent(getBaseContext(), MainActivityMitarbeiter.class));
}else{
new AlertDialog.Builder(this).setTitle("Fehler").setMessage("Benutzername oder Passwort falsch!").setNeutralButton("Schließen", null).show();
kunnr.setText("");
user.setText("");
paswd.setText("");
}
}
public void LogoutApp(){
System.exit(0);
}
public void setzeButtonListener(){
//################## Kalender Button ######################
loginbutton = (Button) findViewById(R.id.Loginbutton);
loginbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoginApp();
}
});
//################# Kassen Button #########################
beendenbutton = (Button) findViewById(R.id.Beendenbutton);
beendenbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LogoutApp();
}
});
}
public void setzeEditText(){
kunnr = (EditText) findViewById(R.id.KundennrText);
user = (EditText) findViewById(R.id.UsernameText);
paswd = (EditText) findViewById(R.id.PWText);
}
}

View File

@@ -0,0 +1,448 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.Color;
import android.support.v4.app.NotificationCompat;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivityMitarbeiter extends Activity {
protected Button dokubutton;
protected Button chatbutton;
protected Button logoutbutton;
//########### Server Relevante Variablen #######################################################
public static Socket socket;
protected static final String dstAddress = "192.168.1.117"; //10.0.2.2"
protected static final int dstPort = 5000;
DataOutputStream st;
public static BufferedReader in = null;
//Name der Zum Server Gesndet wird
protected String name;
//Name der vom Server Erhalten wird
//protected String recname;
File file;
File Unsendfile;
public static Thread listen;
public static boolean isThreadPause = false;
//Für Notification
private static boolean isOnStop = false;
private static boolean ankommenderName = false;
//Testweise
// protected Map<String,String> MapMessage = new HashMap<>();
String personoid;
//##############################################################################################
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity_mitarbeiter);
setzeButtonListener();
// Das ist der Name des Grade benutzen devices
name= "Franz";
personoid="1";
//Erstelle für jedes SQLite DatenSatz ein File
// CreateFile();
//Starte hier die Server Connection + Daten receive und speichere daten local in den Datensatz
StartServerConnection();
}
@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_activity_mitarbeiter, 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_Logout) {
System.exit(0);
}
return super.onOptionsItemSelected(item);
}
public void setzeButtonListener() {
//################## Kalender Button ######################
dokubutton = (Button) findViewById(R.id.Dokubutton);
dokubutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getBaseContext(),WebdokuActivity.class));
}
});
chatbutton = (Button) findViewById(R.id.Chatbutton);
chatbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getBaseContext(),KontaktChatActivity.class));
}
});
logoutbutton = (Button) findViewById(R.id.Logoutbutton);
logoutbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
System.exit(0);
}
});
}
//################ Server Gedöns Was im Hintergrund der Gesamten app laufen soll ###################
public void StartServerConnection(){
Log.v("Status","Bin in start server connection");
new Thread(new OpenConnection()).start();
//Starte hier die Server Connection + Daten receive und speichere daten local in den Datensatz
}
//##################################################################################################
public class OpenConnection implements Runnable{
public void run(){
try {
socket = new Socket(dstAddress,dstPort);
// Log.v("Status: ","Verbindung wurde aufgebaut");
//Prüfe und Sende die nicht Gesendeten Nachrichten
SendAfterGetConnection();
//nachricht an server senden welcher name jetz aktiv connected ist
st = new DataOutputStream(socket.getOutputStream());
name=name+"/1"+"?"+personoid;
byte[] ts = name.getBytes();
st.write(ts);
st.flush();
// Starte SocketListener
listen = new Thread(new SocketListener());
listen.start();
} catch (Exception e) {
Log.v("Connection: ","Konnte nicht Aufgebaut werden. Es wird erneut versucht");
socket = null;
try {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
Log.v("Status", "Starte jetzt den Neu versuch");
StartServerConnection();
}
}, 120000); //----> Versuche beim Scheitern nach 2 Minuten eine Neue Verbindung aufzubauen
}catch(Exception s){
Log.v("Fehler",s.getMessage());
e.printStackTrace();
}
}
}
}
public class SocketListener implements Runnable {
String str;
public void run() {
try {
while (true) {
if (socket != null) {
if (socket.isConnected()) { //----------> isThreadPausabfrage dass könnte das problem mit dem Socketlistener vorort beheben
if(!isThreadPause){
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Log.v("Connection Steht ", "Message Erhalten");
String s = in.readLine();
String[] splitt = s.split(":");
str = s;
if (s == null)
break;
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String formattedDate = df.format(c.getTime());
boolean determind = false;
Log.v("MESSAGE",splitt[0]);
CreateFile(splitt[0]);
//<<<<<<------------ Du ab nach oben
//##############-----------------
Log.v("MESSAGE", "Komme ich den in den Save Bereich Hinein");
WriteMessagesfromStorage(splitt[1] + "/" + determind + "%" + formattedDate + "\n");
SetNotifi(splitt[0], splitt[1]);
// adapter.notifyDataSetChanged();
//#############------------------ mmmmmmmmmaaaaaaaaaaaannnnnnnnn
}
} else {
if (in != null)
in.close();
}
}
}
}catch(Exception e){
Log.v("Status ","Verbindung zum Server wurde seitens dem Server getrennt ");
// Log.e(getClass().getName(),e.getMessage());
in = null;
}
}
}
//##################### Close Connection #######################
public class ConnectionClose implements Runnable{
public void run(){
try {
if (st != null) {
st.flush();
st.close();
}
if (socket != null)
socket.close();
if(in != null)
in = null;
Log.v("Status","Socket succesfull closed");
}catch(IOException se){
Log.v("Fehler Aufgetreten",se.getMessage());
}
}
}
//##############################################################
public void CreateFile(String filename){
try{
File pfad = getBaseContext().getFilesDir();
//Für external Save
//File pfad = getBaseContext().getExternalFilesDir(null);
//Erstelle das File Objekt
file = new File(pfad,filename+".txt");
}catch(Exception e){
Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich");
}
// WriteMessagesfromStorage("\n ich teste weiter mit "+name);
} //---> Zu sortieren der message zum Jeweiligen kontakt
public void SendAfterGetConnection(){
CreateCustomFileForUnSendMessage();
if(Unsendfile.canRead() && socket.isConnected()){
try{
Log.v("Info","Eine ungesendete NAchricht wurde gefunden");
FileInputStream stream = new FileInputStream(Unsendfile);
InputStreamReader in = new InputStreamReader(stream);
BufferedReader readLn = new BufferedReader(in);
String line = readLn.readLine();
String allLines="";
while (line != null) {
allLines += line;
Log.v("Info","Eine ungesendete NAchricht 4");
String[] splitt = line.split("/");
if(splitt.length >1 ) {
String[] ArtDate = splitt[1].split("%");
final String message = splitt[0];
final boolean art = Boolean.valueOf(ArtDate[0]);
final String datetime = ArtDate[1];
Log.v("Info","Eine ungesendete NAchricht 5");
//für jede Gelesene Line Sende Nachricht
new Thread(new SendUnsendMS(message)).start();
Log.v("Info","Eine ungesendete NAchricht 6");
}
line = readLn.readLine();
}
stream.close();
in.close();
Unsendfile.delete();
}catch(Exception fe){
Log.v("Status","Ein problem ist im BEreich Unsend Ms Aufgetreten");
}
//recreate();
}
}
public void CreateCustomFileForUnSendMessage(){
try{
File pfad = getBaseContext().getFilesDir();
//Für external Save
//File pfad = getBaseContext().getExternalFilesDir(null);
//Erstelle das File Objekt | name
Unsendfile = new File(pfad,"hier der name"+"_Unsend"+".txt");
}catch(Exception e){
Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich");
}
}
public class SendUnsendMS implements Runnable{
String al;
SendUnsendMS(String unMS){
this.al = unMS;
}
public void run() {
//String al = text.getText().toString();
byte[] ts = al.getBytes();
try {
if (socket != null && st != null) {
//try catch bei catch SaveAfterLoseConnection();
st.write(ts);
st.flush();
}
}catch(Exception xs){
}
}
}
public void WriteMessagesfromStorage(String message){
try{
FileOutputStream stream = new FileOutputStream(file,true);
try{
stream.write(message.getBytes());
}finally {
stream.close();
}
// Log.v("Status","Text: "+message+" wurde gespeichert." );
}catch (Exception e){
Log.v("Fehler",e.getMessage());
}
}
//setze Notification
public void SetNotifi(String Username,String message){
//Convertiert in Pic Resource in ein Bitmap
//BitmapFactory.decodeResource(getResources(), R.drawable.bslogo)
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.bslogo)
.setContentTitle(Username)
.setContentText(message)
.setAutoCancel(true)
//ab hier neuland
.setDefaults(Notification.DEFAULT_SOUND)
.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }) //Notification.Default_Vibrate
.setLights(Color.YELLOW, 3000, 3000) //Notification.Default_Lights
.setOngoing(true);
//neuland ende
Intent resultIntent = new Intent(this, MainActivityMitarbeiter.class);
//versuch ab hier neuland
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
//neuland ende
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
this.getApplicationContext(),
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mBuilder.setContentIntent(resultPendingIntent);
mNotifyMgr.notify(001, mBuilder.build());
}
//###### Activiti abfragen ##################
public void onResume() {
// Log.v("Stuss","Hier nochmals on creat aufrufen");
isOnStop = false;
super.onResume();
}
public void onStop(){
// Thread t = new Thread(new ConnectionClose());
// t.start();
isOnStop = true;
super.onStop();
}
public void onDestroy(){
Thread t = new Thread(new ConnectionClose());
t.start();
super.onDestroy();
}
}

View File

@@ -0,0 +1,124 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Activity;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* Created by bib on 20.05.2016.
*/
public class MessageAdapter extends ArrayAdapter<ChatMessageFormat> {
private Activity activity;
private List<ChatMessageFormat> messages;
public MessageAdapter(Activity context, int resource, List<ChatMessageFormat> objects) {
super(context, resource, objects);
this.activity = context;
this.messages = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
int layoutResource = 0; // determined by view type
ChatMessageFormat chatMessage = getItem(position);
int viewType = getItemViewType(position);
//Splitt message um zu wissen ob from server oder nicht
String line = chatMessage.getMessage();
String[] splitt = line.split(":");
//Server nachricht kenntlich machen
if (chatMessage.getIsME()) {
layoutResource = R.layout.item_chat_right;
} else if(splitt[0].equals("Server")) {
layoutResource = R.layout.item_chat_sever_right;
}else {
layoutResource = R.layout.item_chat_left;
}
/* Original
if (chatMessage.getIsME()) {
layoutResource = R.layout.item_chat_left;
} else {
layoutResource = R.layout.item_chat_right;
}
*/
/* if (convertView != null) {
holder = (ViewHolder) convertView.getTag();
Log.v("Status","Bin ich hier ?? ");
} else {*/
convertView = inflater.inflate(layoutResource, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
//}
//set message content
holder.msg.setText(chatMessage.getMessage());
//TODO eine weitere option für Chatmessage hinzufügen zum abfragen wegen send Message
if(holder.send_tick != null)
holder.send_tick.setText(Html.fromHtml("&#x2713;")+""+Html.fromHtml("&#x2713;"));
if(chatMessage.getIsME()){
holder.dateIn.setText(chatMessage.getDatum());
}else {
holder.dateOut.setText(chatMessage.getDatum());
}
return convertView;
}
@Override
public int getViewTypeCount() {
// return the total number of view types. this value should never change
// at runtime
return 2;
}
@Override
public int getItemViewType(int position) {
// return a value between 0 and (getViewTypeCount - 1)
return position % 2;
}
private class ViewHolder {
private TextView msg;
private TextView dateOut;
private TextView dateIn;
private TextView send_tick;
public ViewHolder(View v) {
msg = (TextView) v.findViewById(R.id.txt_msg);
dateOut = (TextView)v.findViewById(R.id.DateOUT);
dateIn = (TextView)v.findViewById(R.id.DateIN);
send_tick = (TextView)v.findViewById(R.id.txt_msg_tick);
}
}
}

View File

@@ -0,0 +1,52 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import java.util.logging.Handler;
/**
* Created by bib on 02.05.2016.
*/
public class SplashScreenActiviti extends Activity {
private static final int SPLASH_DURATION = 4000;
private Handler startMain;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splashscreen);
Thread logoTimer = new Thread() {
public void run(){
try{
int logoTimer = 0;
while(logoTimer < 2125){
sleep(75);
logoTimer = logoTimer +100;
};
startActivity(new Intent(getBaseContext(),LoginActiviti.class));
}
catch (InterruptedException e) {
e.printStackTrace();
}
finally{
finish();
}
}
};
logoTimer.start();
}
}

View File

@@ -0,0 +1,57 @@
package beyondsoft.bewomitarbeiterapp;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
/**
* Created by bib on 02.05.2016.
*/
public class WebdokuActiviti extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webdoku);
// Uri uri = Uri.parse("http://www.google.com");
// Intent intent = new Intent(Intent.ACTION_VIEW, uri);
// startActivity(intent);
String URL = "http://192.168.1.115/BewoPlanerMobil/login/demo";
WebView view = (WebView) this.findViewById(R.id.webView1);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl(URL);
view.setWebViewClient(new WebViewClient());
/*
view.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view,String url){
String username = "franz";
String passwort = "walter";
view.loadUrl("javascript:document.getElementbyId('tb_login').value='"+username+"; " +
"document.getElementsbyName('tb_password').value='"+passwort+";");
});*/
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="3dp"
android:color="#4799E8"/>
<corners android:radius="5dp" />
<gradient
android:startColor="#C8C8C8"
android:endColor="#FFFFFF"
android:type="linear"
android:angle="270"/>
</shape>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="3dp"
android:color="#742324"/>
<corners android:radius="0dp" />
<gradient
android:startColor="#C8C8C8"
android:endColor="#FFFFFF"
android:type="linear"
android:angle="270"/>
</shape>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Some files were not shown because too many files have changed in this diff Show More