該当する各社の対応欄に企業名を書いてください。備考があれば適宜カッコ書きしてください。
- 定時前に帰宅させてくれるホワイトな会社を気軽に作りたい
- 定時前に帰宅させてくれるホワイトな会社がホワイトアピールできる場があれば良いな
| package your.awesome.domain | |
| import android.arch.lifecycle.LiveData | |
| import android.arch.lifecycle.MediatorLiveData | |
| fun <T> LiveData<T>.filter(matcher: (T?)->Boolean): LiveData<T> { | |
| val result = MediatorLiveData<T>() | |
| result.addSource(this, { | |
| if (matcher.invoke(it)) { |
| package your.awesome.domain | |
| import android.arch.lifecycle.LiveData | |
| import android.arch.lifecycle.MutableLiveData | |
| import kotlinx.coroutines.experimental.android.UI | |
| import kotlinx.coroutines.experimental.channels.ConflatedBroadcastChannel | |
| import kotlinx.coroutines.experimental.channels.ReceiveChannel | |
| import kotlinx.coroutines.experimental.channels.consumeEach | |
| import kotlinx.coroutines.experimental.launch |
| $dirs = Get-ChildItem -Recurse * | ? { $_.PSIsContainer} | % { $_.FullName} | grep -e bin$ -e obj$ | |
| foreach ($dir in $dirs) { | |
| # echo $dir | |
| rm -rf $dir | |
| } |
| inline fun <T> Iterable<T>.firstIndexOrNull(predicate: (T) -> Boolean): Int? { | |
| return this.mapIndexed { index, place -> Pair(index, place) } | |
| .firstOrNull() { predicate(it.second) } | |
| ?.first | |
| } |
| package your.awesome.package | |
| import android.arch.lifecycle.LiveData | |
| import android.arch.lifecycle.MutableLiveData | |
| import io.reactivex.Observable | |
| import io.reactivex.disposables.Disposable | |
| fun <T> Observable<T>.toLiveData() : LiveData<T> { | |
| return object : MutableLiveData<T>() { |
| package your.awesome.package | |
| fun <T> LiveData<T>.observeOnChanged(owner : LifecycleOwner, observer : Observer<T>) : Unit { | |
| var prev : T? = null | |
| this.observe(owner, Observer<T> { | |
| if (!(prev?.equals(it) ?: false)) { | |
| observer.onChanged(it) | |
| } | |
| prev = it | |
| }) |
| <?xml version="1.0" encoding="utf-8"?> | |
| <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" | |
| xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" | |
| xmlns:local="clr-namespace:SepTest" x:Class="LayoutTest.LayoutTestPage"> | |
| <ContentPage.Content> | |
| <!--Grid を使う方法--> | |
| <!-- | |
| <Grid HorizontalOptions="Fill" VerticalOptions="Fill"> | |
| <Grid.RowDefinitions> | |
| <RowDefinition Height="*" /> |
| using System; | |
| using Xamarin.Forms.Platform.iOS; | |
| using Foundation; | |
| using UIKit; | |
| using Xamarin.Forms; | |
| using CoreGraphics; | |
| using KeyboardOverlap.Forms.Plugin.iOSUnified; | |
| using System.Diagnostics; | |
| [assembly: ExportRenderer(typeof(Page), typeof(KeyboardOverlapRenderer))] |
| protected override void OnCreate(Bundle bundle) | |
| { | |
| ToolbarResource = Resource.Layout.toolbar; | |
| TabLayoutResource = Resource.Layout.tabs; | |
| base.OnCreate(bundle); | |
| Window.SetSoftInputMode(SoftInput.AdjustResize); | |
| if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) | |
| { |