Skip to content

Commit

Permalink
Merge branch 'master' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
shoma2da committed Apr 15, 2016
2 parents c9deb41 + 3f363ad commit e238246
Show file tree
Hide file tree
Showing 214 changed files with 2,248 additions and 168 deletions.
10 changes: 7 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId "com.hatenablog.shoma2da.android.timer"
minSdkVersion 15
targetSdkVersion 23
versionCode 111
versionName "1.1.4"
versionCode 112
versionName "2.0.0"
}
signingConfigs {
release {
Expand Down Expand Up @@ -44,14 +44,18 @@ dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:preference-v14:23.2.1'
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
transitive = true;
}
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.parse:parse-android:1.+'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile 'com.jakewharton.timber:timber:4.1.0'
compile 'co.meyasuba.android.sdk:meyasubaco-sdk:0.+'
compile 'co.meyasuba.android.sdk:meyasubaco-sdk:0.8.0'


testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.+'
Expand Down
Binary file removed app/libs/appc_cloud_2.0.1.jar
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hatenablog.shoma2da.android.timer.v1_2
package com.hatenablog.shoma2da.android.timer.v2

import timber.log.Timber

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.hatenablog.shoma2da.android.timer.v1_2
package com.hatenablog.shoma2da.android.timer.v2

import android.content.Context
import com.hatenablog.shoma2da.android.timer.v1_2.log.Logger
import com.hatenablog.shoma2da.android.timer.v2.log.Logger

class Injection {

Expand Down
Binary file modified app/src/debug/res/drawable-xxhdpi/ic_launcher.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 10 additions & 10 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,32 +19,32 @@
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name=".v1_2.TimerApplication"
android:theme="@android:style/Theme.Holo.Light" >
android:name=".v2.TimerApplication"
android:theme="@style/TimerTheme" >
<activity
android:name=".v1_2.entrypoint.presentation.activity.MainActivity"
android:name=".v2.entrypoint.presentation.activity.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".v1_2.entrypoint.presentation.activity.CountdownActivity"
<activity android:name=".v2.entrypoint.presentation.activity.CountdownActivity"
android:launchMode="singleTask"
android:configChanges="orientation|screenSize"
/>
<activity android:name=".v1_2.entrypoint.presentation.activity.SettingActivity"
android:parentActivityName=".v1_2.entrypoint.presentation.activity.MainActivity"
<activity android:name=".v2.entrypoint.presentation.activity.SettingActivity"
android:parentActivityName=".v2.entrypoint.presentation.activity.MainActivity"
>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".v1_2.entrypoint.presentation.activity.MainActivity" />
android:value=".v2.entrypoint.presentation.activity.MainActivity" />
</activity>

<service android:name=".v1_2.domain.countdown.CountdownService" />
<service android:name=".v1_2.domain.notificationlauncher.NotificationLauncherService" />
<service android:name=".v2.domain.countdown.CountdownService" />
<service android:name=".v2.domain.notificationlauncher.NotificationLauncherService" />

<receiver android:name=".v1_2.entrypoint.receiver.BootCompletedReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<receiver android:name=".v2.entrypoint.receiver.BootCompletedReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.hatenablog.shoma2da.android.timer.v1_2
package com.hatenablog.shoma2da.android.timer.v2

import android.app.Application
import co.meyasuba.android.sdk.Meyasubaco
import com.hatenablog.shoma2da.android.timer.v1_2.log.Logger
import com.hatenablog.shoma2da.android.timer.v2.log.Logger
import com.parse.Parse
import com.parse.ParseInstallation

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.countdown
package com.hatenablog.shoma2da.android.timer.v2.domain.countdown

import android.app.Service
import android.content.Context
import android.content.Intent
import android.os.IBinder
import android.os.PowerManager
import com.hatenablog.shoma2da.android.timer.v1_2.domain.library.remaintime.RemainTime
import com.hatenablog.shoma2da.android.timer.v1_2.domain.remaintime.RemainTimeCounter
import com.hatenablog.shoma2da.android.timer.v1_2.domain.library.remaintime.CountdownNotification
import com.hatenablog.shoma2da.android.timer.v1_2.domain.notificationlauncher.NotificationLauncherService
import com.hatenablog.shoma2da.android.timer.v1_2.entrypoint.presentation.activity.CountdownActivity
import com.hatenablog.shoma2da.android.timer.v2.domain.library.remaintime.RemainTime
import com.hatenablog.shoma2da.android.timer.v2.domain.remaintime.RemainTimeCounter
import com.hatenablog.shoma2da.android.timer.v2.domain.library.remaintime.CountdownNotification
import com.hatenablog.shoma2da.android.timer.v2.domain.notificationlauncher.NotificationLauncherService
import com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.activity.CountdownActivity

class CountdownService : Service() {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.library.remaintime
package com.hatenablog.shoma2da.android.timer.v2.domain.library.remaintime

import android.app.NotificationManager
import android.app.PendingIntent
Expand All @@ -8,7 +8,7 @@ import android.content.Intent
import android.graphics.BitmapFactory
import android.support.v4.app.NotificationCompat
import com.hatenablog.shoma2da.android.timer.R
import com.hatenablog.shoma2da.android.timer.v1_2.entrypoint.presentation.activity.CountdownActivity
import com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.activity.CountdownActivity

class CountdownNotification(val service: Service) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.library.remaintime
package com.hatenablog.shoma2da.android.timer.v2.domain.library.remaintime

import com.hatenablog.shoma2da.android.timer.v1_2.util.extensions.format
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.format
import java.io.Serializable

class RemainTime(val minutes:Int, val seconds:Int) : Serializable {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.notificationlauncher
package com.hatenablog.shoma2da.android.timer.v2.domain.notificationlauncher

class NotificationIds {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.notificationlauncher
package com.hatenablog.shoma2da.android.timer.v2.domain.notificationlauncher

import android.app.Service
import android.content.Intent
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.please_review
package com.hatenablog.shoma2da.android.timer.v2.domain.please_review

import android.content.SharedPreferences

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.please_review
package com.hatenablog.shoma2da.android.timer.v2.domain.please_review

import android.app.Activity
import android.preference.PreferenceManager
import com.hatenablog.shoma2da.android.timer.v1_2.entrypoint.presentation.dialog.PleaseReviewDialog
import com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.dialog.PleaseReviewDialog

class ReviewRequest {
fun show(activity: Activity) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.remaintime
package com.hatenablog.shoma2da.android.timer.v2.domain.remaintime

import com.hatenablog.shoma2da.android.timer.v1_2.domain.library.remaintime.RemainTime
import com.hatenablog.shoma2da.android.timer.v2.domain.library.remaintime.RemainTime
import kotlin.concurrent.timer

class RemainTimeCounter(val time: RemainTime) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.hatenablog.shoma2da.android.timer.v2.domain.setting

import android.content.Context
import android.preference.PreferenceManager

class NotificationLengthSetting(val context:Context) {

companion object {
fun load(context: Context): NotificationLengthSetting {
return NotificationLengthSetting(context)
}
}

fun action(callback:(isLimitLess:Boolean, length:Int) -> Unit) {
val pref = PreferenceManager.getDefaultSharedPreferences(context) ?: return

val length = Integer.parseInt(pref.getString("notification_length", "-1"))
val isLimitLess = (length == -1)
callback.invoke(isLimitLess, length)
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.hatenablog.shoma2da.android.timer.v1_2.domain.notificationlauncher
package com.hatenablog.shoma2da.android.timer.v2.domain.setting

import android.content.Context
import android.preference.PreferenceManager
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package com.hatenablog.shoma2da.android.timer.v1_2.entrypoint.presentation.activity
package com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.activity

import android.app.Activity
import android.app.AlertDialog
import android.app.Dialog
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.content.*
import android.content.res.Configuration
import android.media.MediaPlayer
import android.os.Bundle
import android.os.Vibrator
import android.preference.PreferenceManager
import android.support.v7.app.AlertDialog
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.view.*
import android.view.View.OnClickListener
Expand All @@ -20,15 +18,20 @@ import android.widget.TextView
import com.google.android.gms.ads.AdListener
import com.google.android.gms.ads.AdView
import com.hatenablog.shoma2da.android.timer.R
import com.hatenablog.shoma2da.android.timer.v1_2.domain.countdown.CountdownService
import com.hatenablog.shoma2da.android.timer.v1_2.domain.library.remaintime.RemainTime
import com.hatenablog.shoma2da.android.timer.v1_2.domain.notificationlauncher.NotificationMethodSetting
import com.hatenablog.shoma2da.android.timer.v1_2.domain.please_review.PleaseReviewCondition
import com.hatenablog.shoma2da.android.timer.v1_2.util.extensions.getLogger
import com.hatenablog.shoma2da.android.timer.v1_2.util.extensions.isSilentMode
import com.hatenablog.shoma2da.android.timer.v1_2.util.extensions.load

public class CountdownActivity : Activity() {
import com.hatenablog.shoma2da.android.timer.v2.domain.countdown.CountdownService
import com.hatenablog.shoma2da.android.timer.v2.domain.library.remaintime.RemainTime
import com.hatenablog.shoma2da.android.timer.v2.domain.please_review.PleaseReviewCondition
import com.hatenablog.shoma2da.android.timer.v2.domain.setting.NotificationLengthSetting
import com.hatenablog.shoma2da.android.timer.v2.domain.setting.NotificationMethodSetting
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.getLogger
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.isSilentMode
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.load
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.tweet
import java.util.concurrent.TimeUnit
import kotlin.concurrent.thread
import kotlin.concurrent.timer

public class CountdownActivity : AppCompatActivity() {

companion object {
val TIME_PARAM_NAME = "time_param"
Expand Down Expand Up @@ -202,6 +205,21 @@ public class CountdownActivity : Activity() {
}
)

NotificationLengthSetting.load(this).action { isLimitLess, length ->
if (isLimitLess) {
return@action
}

thread {
Thread.sleep(length * 1000L)

if (player.isPlaying) {
player.stop()
}
vibrator.cancel()
}
}

//Analytics
val logger = application.getLogger()
logger.sendEvent("timer", "finish")
Expand All @@ -224,6 +242,21 @@ public class CountdownActivity : Activity() {
dialogLayout.findViewById(R.id.button_ok).setOnClickListener {
stopNotification(player, vibrator)
}
val pref = PreferenceManager.getDefaultSharedPreferences(this);
if (pref.getBoolean("already_click_share_button", false)) {
dialogLayout.findViewById(R.id.button_share).visibility = View.GONE
}
dialogLayout.findViewById(R.id.button_share).setOnClickListener {
pref.edit().putBoolean("already_click_share_button", true).apply();

application.tweet("タイマーはこれぐらいの簡単さがちょうど良いかも! %23瞬間タイマー", "https://play.google.com/store/apps/details?id=com.hatenablog.shoma2da.android.timer&hl=ja&utm_source=app_share&utm_medium=app&utm_campaign=app_share")
logger.sendEvent("timer", "share")

if (player.isPlaying) {
player.stop()
}
vibrator.cancel()
}
dialog.setContentView(dialogLayout)

//広告読み込み
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
package com.hatenablog.shoma2da.android.timer.v1_2.entrypoint.presentation.activity
package com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.activity

import android.app.Activity
import android.content.Intent
import android.media.AudioManager
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
import co.meyasuba.android.sdk.Meyasubaco
import com.hatenablog.shoma2da.android.timer.R
import com.hatenablog.shoma2da.android.timer.v1_2.domain.notificationlauncher.NotificationLauncherService
import com.hatenablog.shoma2da.android.timer.v1_2.domain.please_review.ReviewRequest
import com.hatenablog.shoma2da.android.timer.v1_2.util.extensions.getAudioManager
import com.hatenablog.shoma2da.android.timer.v1_2.util.extensions.getLogger
import com.hatenablog.shoma2da.android.timer.v2.domain.notificationlauncher.NotificationLauncherService
import com.hatenablog.shoma2da.android.timer.v2.domain.please_review.ReviewRequest
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.getLogger

class MainActivity : Activity() {
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstance : Bundle?) {
super.onCreate(savedInstance)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.activity

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import com.hatenablog.shoma2da.android.timer.R
import com.hatenablog.shoma2da.android.timer.v2.entrypoint.presentation.fragment.SettingFragment
import com.hatenablog.shoma2da.android.timer.v2.util.extensions.getLogger

class SettingActivity : AppCompatActivity() {

override fun onCreate(savedInstance : Bundle?) {
super.onCreate(savedInstance)

fragmentManager.beginTransaction()
.replace(android.R.id.content, SettingFragment()).commit();

//Analytics
val logger = application.getLogger()
logger.sendScreenLog("SettingActivity")

setTitle(R.string.setting)
actionBar?.setDisplayHomeAsUpEnabled(true)
}

}
Loading

0 comments on commit e238246

Please sign in to comment.