// Copyright (c) 2014 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#import "InterfaceController.h"

@implementation InterfaceController

- (instancetype)initWithContext:(id)context {
  if ((self = [super initWithContext:context])) {
    // -initWithContext:
  }
  return self;
}

- (void)willActivate {
  // -willActivate
}

- (void)didDeactivate {
  // -didDeactivate
}

@end

